610

May 5th, 2023 × #terminal#productivity#ai

Supper Club × Zach Lloyd from Warp

Scott and Wes interview Zach Lloyd, creator of the Warp terminal app, about building Warp in Rust, efforts to reinvent the terminal UX, integrating AI assistants, and his background working on Google Docs.

or
Topic 0 00:00

Intro to Syntax Supper Club podcast with guest Zach Lloyd, creator of Warp terminal

Wes Bos

Welcome to Syntax, the podcast with the tastiest web development treats out there. Today, we have Zack Boyd on today, who is creator of Warp.

Wes Bos

This is a terminal. We did an entire show on Warp a couple of weeks ago.

Wes Bos

Now we have Zach on just to talk about Warp as well as all other kinds of interesting stuff. I know he's he's worked on quite a few things.

Guest 2

Welcome, Zach. Thanks so much for coming on. Yeah. Thank you. Thank you both for having me. I'm excited to be here. You're welcome.

Wes Bos

Let's start with, give us a rundown of, who you are, what you do, where you're from, all that good stuff. Okay.

Topic 1 01:14

Guest intro - Zach is a software engineer, former Google engineering lead, Warp founder

Guest 2

So, yeah, I'm I'm Zach.

Guest 2

I guess I would describe myself as an engineer first and foremost, although I've done a bunch of different stuff.

Guest 2

Probably, You know, most interesting, like, thing career wise I did prior to doing WARP, I was a principal engineer at Google. I used to be the Engineering lead on the Google Docs suite.

Guest 2

I built actually, for a long time there, I ran Google Sheets and Built a lot of the current version of that.

Guest 2

I I guess back like, originally from LA.

Guest 2

I now am living in Northern New Mexico kinda randomly. I live in Taos, which is pretty cool. Oh, cool.

Guest 2

Other stuff I've done. So I'm a 2nd time start up founder. I did, I was founded another company called Selfmade, which was a venture backed start up in a totally different space, from what I'm doing now.

Guest 2

I was Sort of randomly, the interim CTO at Tyme, for a little bit. So I was, like, worked at a media company on their technology.

Guest 2

And then, you know, for the last 3 years officially and really, like, longer than that, I've been working on, on work and trying to, you know, build a lasting company around Improving developer productivity starting by reinventing the the terminal.

Topic 2 02:30

Zach has worked at Google, startups, music studio, law school dropout

Guest 2

Yeah.

Guest 2

Yeah. So you've really done, It feels like it all between publishing and Google and and all this stuff. So some stuff. I I mean, I also I'm a I'm a law school dropout. Oh, lord. My gosh. At a music studio for a year, which was pretty cool. I I yeah. I've had I have some What'd you do at the studio? I was this music producer's assistant, basically. So I would set up recording sessions.

Guest 2

I would, help with mixes.

Guest 2

I would hang out with artists while they're away and record. It was, Like, I'm a musician, and so this was kinda my

Scott Tolinski

my dream for a bit was to see if I could be a, like, a rock and roll. Yeah. Yeah. You know? Me too. I went to school for music. So and and I went to school for basically music engineering. So that was kind of my wannabe career path before I found out that I A really loved website. So yeah. No. That it's such a good mix, though, because audio, DSP, all that stuff, it it works so well with the web and Yeah. I was in I was in Pro Tools all day. I don't know if they still use Pro Tools or not. But yeah. That's They do. Yeah. It was cool.

Topic 3 03:31

Discussion of building Google Docs - client-server architecture, offline support, code sharing

Wes Bos

Totally. I'm I'm curious about the Google Docs stuff. If we can talk about that real quick before we get into work, just because I'm I'm always been fascinated. Donated. Google Docs has been around for, what, like, 10 Oh, more. Maybe even more.

Guest 2

I would say 2006

Scott Tolinski

Is when Oh, my gosh. The first version of it, how it came out. 15, 16, 17 years. It's unreal that that even works. So I don't even know what my question is, but, like, how does that how does it work? Like, what's the JavaScript? I mean, I have a direct Question is too damn hard as it were. When I was at Google, I did my Google interview. One of the questions they asked me in my interview was if you were building Google Sheets, How would you handle the persistence that if you refresh the page, that nothing would go away or that it would all all stay? So That was basically the question is how would you build Google Sheets? What what technology would you build it on? Right.

Scott Tolinski

So is is there a quick answer to that? Like, what is the right answer for them? For that kind of that connection? How does it work? So I don't know. I'll say this. When I when I

Guest 2

1st joined Google, which was in 2007, it also kinda blew my mind. I was like, how is this possible that that that you could even do A spreadsheet or a a document, in the browser.

Guest 2

So the way I get I don't know how describe it so much how it works. It's like at a very high level, there's, like, a very rich JavaScript client.

Guest 2

So and those clients have become Richer over the years. Like, when I started on Google Sheets, it was much more of a client server model where it's like, If you were to type in a formula, you would you would essentially make a sort of XHR to the server. The server would do the calculation, Send things back.

Guest 2

And then on the client side, you would you would render things in HTML. So you'd have, like, a bunch of JavaScript. You know, Google has all their own internal JavaScript libraries, and so you would render it. And then it's evolved a ton to I guess, in a couple ways. So one is, like, the apps have become Much richer client side apps. And so, like, all of those apps will run without any server now.

Guest 2

And that was Wow. Wow. That's partly driven by, like, a product requirement around, like, supporting offline for enterprises, which it's not that heavily used, but it was like there were there were, You know, Google's in the enterprise software business, and that's like folks, like, we can't move off of office unless, you know, I'm sure I can use this thing all times. And so we moved to a totally, like, Rich client model.

Guest 2

And so, like, if you run Google Sheets locally, like, there's a whole calculation engine, in the client Wow. That is in JavaScript.

Guest 2

So now one one other interesting thing is, like, these apps also heavily use, Like GWT or GWT. I don't know if you guys are familiar with that. It's kind of like I don't think anyone in the world actually use it probably besides Google internal at this point. Mhmm. But it's very important for these apps to share code across the client and the server.

Guest 2

And, you know, the client is not just a web client. The client is also like a Ios client and an Android client. And so one of the things that we invested really heavily in was, like, how do you share all of the data model code, all of the business logic? Not so much the rendering, but all of, like, the core stuff for doing, like, for example, for a spreadsheet. It's like all the formula parsing and all of the, like, Formula calculation and all of the spreadsheet cells, that's all written in Java and is cross compiled for the web using GWT And is run natively on Android.

Guest 2

It's run natively on Google's servers because you have, like, API endpoints for these things. Yeah. And then they actually and this is even one of the crazier things. Like, it's translated to objective c for Ios, and so that one code base is used everywhere.

Guest 2

The other interesting, you know, sort of big change was, like, there's on the web a move away from HTML rendering, and that happened We sort of, like, on the sheet side, pioneered that. And so, you know, it used to be, like, back in the day when you would render a spreadsheet, you'd render it as, like, an actual HTML table.

Guest 2

Yeah. And then mainly for, like, performance reasons and also for reasons of, like, wanting complete control of the rendering, It's moved to being, like a canvas. And so Woah. You just, like yeah. You just Draw the section of the spreadsheet that you that you want, and it's all viewport. All the scrolling is simulated. Like, as you're scrolling basically, we're translating like, okay. This would be on roll row 5,000, so just render row 5000 to 5,050, And that's done through a series of draw calls and, like, you know, there's it's a big engineering effort to make that work because you're basically having to reinvent a bunch of the stuff the browser does Oh, yeah. Right. Yeah. You need to test it. You need, you know, you need to do text layout like Canvas. At least when I was honest, it only did, like, single It's so hard on Canvas. Yeah. Yeah. So, like, it's, you need to redo selections. You need to do accessibility. Like, all that stuff.

Topic 4 08:50

Google Docs moved to canvas rendering for performance instead of HTML

Guest 2

But the reason that that we did it that way is just, like, it was So hard to get the performance of these types of apps to be anything like native desktop performance. And so, You know, it's like we went to pretty crazy engineering lengths around trying to do that, which is which, by the way, one of the reasons the Warp is built in Rust and is a native app was like is like A personal reaction

Scott Tolinski

to how much effort we had to put in on the web to try to get performance to be good. Yeah. That's wild to hear. And it's not really that surprising given that the performance is so good on it, and it does I think part of its success is that it felt Like a native app. Like, you know, people people really feel like they're using Word in the browser. Yeah. But I will say, like, to this day, like, when I talk to people who are in, like, finance,

Guest 2

And they're like and I'm like, oh, you know, I helped build a lot of Google Sheets. They're like, oh, I can't use that because it's, like, it's too slow or whatever. It's like, yeah. They're kinda right. Yeah. Like, it does it falls over it, like, I don't know, 10 tens of thousands of rows. This is very hard to get performance better than that. Wow.

Wes Bos

Oh, that that's fantastic. I'm really glad that we asked you about that because I've it just blows my mind that a majority of the code is not written in JavaScript or HTML.

Guest 2

It's it's not. It's like and, like, honestly, if I were if I were there today, I would probably be, like, pushing to use WebAssembly Mhmm. And WebGL, just to get There's a whole another layer of performance that they could have. Now it's so much work to to redo this type of app, so I I don't know that They'll they'll do that, but Yeah.

Guest 2

Yeah. I think that would be the best.

Wes Bos

That's unreal. I I always just think about, like, the Unsung heroes of some of the apps that we use. And there's probably I don't know if this is true, but there's probably a guy at Google, and his full time job is working on Bolding and text wrap and line height. You know? Like,

Guest 2

for I mean, no. That's that's I can tell. Like, I don't know, bolding. I don't think there's an engineer who's doing just, like, bold.

Guest 2

But but, like, like, doing, like, the text wrapping, for Sure. Like, Google Docs has essentially its own its own whole text layout engine, and that's, like, That's hard. And, like, if you think Google has has a lot of people working on it, like, Microsoft has, like, 10 times more people working on this stuff. Is there really And then also to people that

Wes Bos

have to make sure that 16 year old Word documents open fine

Guest 2

On Google Docs side, there's still other work.

Guest 2

Really? So oh my god. So, yeah, this this, we also had a a whole, you know, sort of team around with just, like, Handling conversion from, you know, sort of like legacy file formats.

Guest 2

You know? Because in in the office formats have Change a bunch of over the years that there used to be, like, a binary format essentially, then they moved to an XML based format that's like open source.

Guest 2

And this was a big source of product tension on Google Docs was like, you know, how much relative efforts you put into sort of porting, like, the import export and and round tripping with, with Microsoft Office files because, like, Yeah. Anytime you build a new feature in Google Docs, it's like, what's the import export story? Anytime Microsoft launches a new feature in Office, like, you're trying to Get Office users to go on to Google Docs. If they come into Google Docs and their first experience with it is, like, they bring in their PowerPoint file and, like, None of their clip art shows up. They're gonna be like, oh, this is a broken tool. And so clip art.

Guest 2

It's it's it's a real stress where, like, in, like, you know, it also opens up Google to strategic risk because if they're like, okay. We're gonna do perfect fidelity with clip art and PowerPoint, then they're not building something cool like What Notion is doing, for instance, where it's like you've integrated all of the pieces of productivity into 1 tool. And so it's it's really it was Super interesting set of product challenges. Fantastic. I'm I'm so glad I asked you about that because that is is fascinating. It's not every day you get to talk to to somebody. I remember

Wes Bos

Probably 12 years ago, I talked to somebody who worked on Gmail and he was telling me about the challenges of getting the Ios keyboard to open programmatically, You know, because, like, it will only open when you focus the input. And they were, like, sliding 1 in very quickly and putting it under your thumb and then sliding it out. And Oh, my God. I just love stories like that. I think we should do some sort of Yeah. Yeah.

Wes Bos

Yeah. But let's talk about Warp.

Topic 5 13:31

Overview of Warp - reinventing terminal to be more intuitive and work better out of the box

Wes Bos

Obviously, Scott and I are are big, Warp fanboys here.

Wes Bos

Do you wanna give us a rundown of what it is and why you built it?

Guest 2

Sure. So WARP is simplest way of describing is we're we're trying to reinvent the terminal and make it a much better Product for individuals and also upcoming for teams.

Guest 2

The reason, like, we're doing this, like, why is this an interesting thing to focus on? You know, terminal is very, very widely used tool. Most developers, whether they wanna be or not, are in it every day.

Guest 2

You know, the way I sort of think about it is, like, it's the it's the easiest place for developers to write apps for each other, traditionally, has been the command line.

Guest 2

And so a lot of important stuff still happens in it, whether it's like building code, running tests. For some people, it's their code editor. For everyone, it's like how they write internal apps. It's how they interact with their, like, cloud systems, and so that's why I think it's an interesting place to focus. And then what we're doing is is, you know, looking at it and being like, hey. If you were to build a tool, that, you know, if you looked at, like, what developers do in the terminal and build a tool that just helps them do that as well as possible, You would not rebuild the current thing that everyone has been using, which is, you know, essentially, like, a thing that hasn't changed in 40 years. It's like emulating an old Piece of hardware that doesn't exist anymore, and so we're we're trying to fix some of it, like just, like, re totally rethink it. And, you know, what that means from user experience Perspective is like we're trying to make it, more intuitive, less intimidating.

Guest 2

We're trying to make it work out of the box lot better so you don't have to spend so much time configuring it to get things like completions working or your prompt to be good.

Guest 2

We are Actually, like, recently, we've started putting a bunch of sort of AI oriented features into it, which I think is is super powerful because, like, The command line and AI actually mix really well. Like, the command line is like a purely text based thing, and these large language models, like, sort of speak in text. Yeah. And then, like, the last thing that we're trying to do, we'll we'll have, like, a pretty big launch around this, coming up is to actually make the the terminal work As a place where teams can share knowledge and share onboarding information and sort of, you know, jointly become more efficient. Wow. So that's kind of like a long winded answer. It's it's Available on Mac right now. It's a native app. It's totally free.

Guest 2

And, yeah, it's like I think it's a you know, people people seem to really be digging it, which is cool. Yeah. It was the 1st terminal app that's pulled me away from Iterm,

Topic 6 16:10

Warp built in Rust for performance instead of Electron, allows control over rendering

Scott Tolinski

which I've been on for, I don't know, for longer than I could possibly imagine. So And the things that struck me is just about everything you just mentioned, right, where you're trying to get the up and running, that experience nicer. I I had to do less work to configure this terminal than I've ever had to do in any terminal that I've used before.

Scott Tolinski

And for the most part, I had experiences where I didn't have to go diving into the preferences to check 5, You know, 10, 20 checkboxes of features to turn on, it just function the way that I would want it to function right out of the box and was fast.

Scott Tolinski

So with with warp, you said this is built in Rust. Right?

Guest 2

Yep. So why why pick Rust? We basically picked Rust after looking a bit at Electron and WebTech in deciding that it was gonna be a little bit too slow, a little bit too bloated, and that, like I kinda said earlier on, like, my experience from Google Docs has Yeah. Made me very heavily favored. Like, I just wanna pick the fastest possible stack for this.

Guest 2

For this type of app, like, the terminal actually is somewhat performance intensive. Like, You know, it has to do a lot of sort of text rendering and text layout. It has to read a lot of data potentially.

Guest 2

And I think it's a tool that, You know, developers are very sensitive to the performance in this tool. Like, one of the reasons you use it is because you're trying to get stuff done more quickly because you wanna get do everything from the keyboard. And so, we ended up thinking that a stack of Rust plus, like, actually directly interface with the With the graphics, API on the computer was gonna be the best way to do it.

Guest 2

There's obviously costs to that. Like, just to be totally totally clear, this is not like I would recommend everyone build every app in Rust. You know? And some of the costs are, like You know, when we we just have to kinda do everything ourselves to some extent. Like, we had to build a UI framework Mhmm. That's sort of it's, like, loosely inspired by Flutter.

Guest 2

You know, we have to interface with the graphics. Like, we have to do the hit testing for everything.

Topic 7 18:16

Warp uses custom UI framework inspired by Flutter, may open source it

Guest 2

And so, you know, you lose a lot of stuff that you get for free just by using the web platform, and then you lose a lot of stuff that you could just do, like, an NPM install for and, like, You know, have, like, certain UI components. And so it it it slows us down in that respect, but it, you know, I'm really big on just, like,

Scott Tolinski

Prioritizing the user experience above everything else. And so I think from a user experience perspective, it lets us build a, Like a better product. Yeah. So you mentioned that UI I layer is that you said it's it's totally custom and that that's what does all of the the text rendering and everything like that.

Guest 2

Has that been, like, a a major challenge? Do you have to build it entirely from scratch? So we we had an engineer join us really early on Who's actually he's the founder of Zed. I don't know if you've ever talked to Zed or seen them. And so he was also the creator of Adam, and he's, like, he's a he's a great engineer. He was at warp briefly, and he had done some work on this UI framework, which we were able to sort of, like, pick up, adopt, and, like, are actually built on similar technology stacks.

Guest 2

So we didn't start totally, totally from scratch, But we you know, it has been a lot of work to build, to build the the like, to get a working sort of UI.

Guest 2

But there is like a it's not totally bespoke in the sense of, like, we built a, like, terminal UI renderer.

Guest 2

We built like we have an actual abstraction or a code, which is like a sort of UI framework, which has no dependencies at all on the terminal.

Guest 2

And so it's like if you wanted to build any kind of UI, really, like, you could do it. You have text areas and scrollable areas and and recs and drop shadows and, like, All that sort of stuff.

Guest 2

Yeah. This is a thing we would actually like to open source. We just kinda haven't it's, like, not quite mature enough, I would say, but I think it's generally Well, I was just going to ask that because

Wes Bos

essentially you just start painting triangles on the screen And you have to build every like, I just went to the tabs and I scrolled on something. You have to build the whole scrollable area where you listen for the mouse

Guest 2

Moving? Oh, yeah. Oh, man. Yeah. Yeah. I mean so what what's I'll say one thing about it. So it sounds ridiculous, but, like, You know, we we use we run our own shader code. Right? And so the shader language that you use for that we're using on Mac is is metal.

Guest 2

And so metal is like max graphics APIs.

Guest 2

And, like, we probably have it's like on the order of 500 lines of graphics code, which is to to do everything in a terminal app, which is kinda wild. And so if you think about it, like, well, what are the UI primitives you you actually Need, you need, you need text glyphs. And so, like like, figuring out how to do text really well was pretty challenging, and, actually, there's Interesting stuff we've written about with, like you have to do, like, the alignment of the glyphs in a very specific way in order to get, like, the the borders not to be fuzzy.

Guest 2

So there's text, and then there's rectangles, essentially. So Mhmm. And rectangles can have, like, rounded corners. They can Backgrounds, they can have gradients, they can have drop shadows, but it's all just like a variant on a rectangle.

Guest 2

And then there's images, and so you need to be able to sort of, you know, rasterize like a like a PNG or an SVG.

Guest 2

And, you know, GPUs are really Good at that? Like, there's not that much code right for it. So, like, the actual, like, put pixels on screen code is not very much.

Guest 2

The UI framework code is probably on the order of, like now I'm, like, guessing, but maybe it's, like, 10,000 lines of code, which is you know, again, it's We're able to get away with that because we don't support everything, every UI framework supports. Like, if you'll notice right now, there's no animations in warp. That's because we haven't built.

Guest 2

We don't we don't have support. We like, our UI framework doesn't yet support it. And so, like, that's, like, an example of an annoying tax where If we were using the web framework, we could just use animations that come, like, you know, from request animation frame or CSS animations.

Guest 2

So there's definite attacks, but it's It's not as crazy

Scott Tolinski

as you might think. Wild. It's still wild.

Guest 2

But it gives us it gives us complete control. That's, like, one other pro of it. So, you know, say we were to use some, like, you know, third party Rust based UI library, and there are a bunch of them. We kinda looked at this path too.

Guest 2

You know, the worry is, like, when we go to support our next platform or when we go to, like Like, let's say, we wanna add animations, having to like, we just have sort of complete control and ability to do it.

Guest 2

And, Again, like, I would not recommend this for everyone, but this is, like, my battle scars are, like, I really I think at the end of the day, that is a A really nice position to be in because we're you know, it's like we sort of can can get the app to work the way we want from a product perspective. Totally.

Topic 8 23:22

Plan to compile Warp to WebAssembly for web version, challenges around threads and text layout

Wes Bos

And when you when you want to eventually support Windows, how do you take this rust and, sorry, Sorry. What's the rendering engine? What's it called? It's not WebGL, obviously. It's, It's metal. Metal. On Mac on Mac, it's called, metal. Yeah. So you'd have to reimplement the 500 lines of metal in whatever the windows is, or how does that work? Yeah. So Windows,

Guest 2

like, Windows, I'm not as familiar with the graphics APIs, but but so, basically, like, the Rust app will compile for Windows and for Linux.

Guest 2

The there's, like, a platform abstraction in our code. Right? So there's, like, you Probably, like, 5% of our code base or something like that is, like, interfacing with Mac APIs.

Guest 2

And so what we what we'll do is we'll substitute that out.

Guest 2

And on, like, Linux, for instance, we'll use, probably Open GL. And, like, the actual, like, Open GL, like, Shader language is actually not super different from metal. Like, maybe the coordinate system might be different.

Guest 2

Like, some of, like, the functions are different, but, like, The basic, like, you know, you're passing in, sort of like vectors of data for for, like, rendering Glyphs, and images and rectangles, it all translates pretty pretty quickly. I don't think that's gonna be the hard part.

Guest 2

The hard part will be, the rest of the platform API. So it's like you need some place to get event information from. Right? So it's like Key events, mass events. Oh, yeah. You need some sort of API for creating Windows and, like, You know, interface like like, we have all this custom code around, like, Mac menus, for instance, that's not gonna apply on Linux or Windows. So that that type of stuff, like, our auto update is gonna be a pain. I have a feeling the way that we package the the code Yeah. Like, that's all Nonreusable Mac specific stuff,

Scott Tolinski

which is a bummer. But And it and it's I'm sure it's A little frustrating on your end for just how many people are probably like, Windows win? Windows win? Linux win? You know? Like I mean, those are our like, if you look at our Our open GitHub issues, those are the top feature requests. Windows Linux.

Guest 2

Yeah.

Guest 2

So and, you know, I I think we're we're gonna just so people get it. Like, we're gonna start, we're we're gonna spin up a platform team within Warp this year.

Guest 2

I actually think the 1st platform we're gonna focus on is the web, which I think would be interesting to to to chat about how that would work. Yeah. People really want Linux and Windows, and so we'll we're gonna start moving on this. Like, we we get that that's important. I I that's exactly what I was gonna ask next, which is

Wes Bos

When we I first chatted with you, you're telling me how it's built on Rust. My I immediately went I was like, well, Everything will be run I, at least, I think everything's gonna be run-in a web browser at some point.

Topic 9 26:06

Warp integrates with existing shells using hooks, allows structured output with blocks

Guest 2

How how will you Get something like this running in the browser. Right. So first of all, I agree with your premise. Like, I I think development is, It's gonna be done out of the browser. Like, we started we started native because most terminal usage stays native, and, like, we wanted Like, our priority at the beginning of the company was, like, can we validate these product ideas? Can we get a feedback loop going? Can we get some group of users who are passionate about what we're doing? And to to get that, like, we really had to start where there's the most usage, which is we picked Mac, but it had to be desktop. I don't think that There's as much heavy terminal usage in the browser. No. How do we get there? So this is gonna be interesting for us. So we we picked a stack with which we, you know, we wanted to be, multiplatform from the start.

Guest 2

For Rust, the plan is to is to try to compile the web assembly.

Guest 2

This is more theoretical than, like, proven for us at this point. And, like, I think the the biggest challenge It's gonna be around, like, not all of our Rust dependencies are sort of web assembly friendly.

Guest 2

So, like, You know, I I haven't we have this we have to explore how it's really gonna work, but it's like, for instance, I think things like threads are gonna give us trouble. Like, we're we're using threads Pretty free like, pretty freely in our app right now.

Guest 2

Like like render like, layout happens on its own thread and Interacting with the terminal PTY happens on its own thread. And, like, that type of thing, I don't think it's gonna translate 1 to 1. Right. Yeah. But the basic idea is, like, we'll we'll we'll go Rust to web assembly, for, like, most of the business logic of the terminal. Mhmm. And then we will use WebGL for the graphics piece, And then we'll have to use, like, you know, the sort of native, like, browser APIs for things like, you know, getting events and that type of stuff. Text Layout will be really interesting and challenging because you need you know, in order to do text layout, you you essentially you you you you need some sort of 3rd party library. So on Mac, we use core text, which basically, like, you say, like, lay out this This, string and it does, like, the complicated stuff around, like, ligatures and kerning and, like, shaping of the characters. And so on the web, There is something called hearth buzz, which is maybe what we'll use, but I don't know. This is gonna be like a not a not insignificant engineering challenge. But we're We're doing it because I think it's super important, the future of the of the product and the company. It's wild how many things you've mentioned this episode that I've never heard of, like harf buzz.

Guest 2

Yeah. Harpfuzz, if you wanna look it up, it's like a it's like a text I I don't wanna use the wrong term if it's layout or shaping. It's like engine.

Guest 2

There it is. Text shaping engine.

Guest 2

And it it's cross platform and, you know, doing, like, text shaping, text layout, text rendering is really, really involved, with different different fonts have different properties, and so, you know, we don't that's not our, like, core strength as a company. So it's like when I say we, like, We want complete control. We don't want control over this. Like, there's no there's no business value for us in in reinventing how to do, like, CJK characters or something like something like that. It's like you wanna use a library for this, and so,

Wes Bos

Harf Buzz is Probably what we would end up using on the web. I have to give you props for all the text alignment stuff you've done so far because I've for years of using hyper, the my prompt uses, like, a custom font, and then there's emojis inside of it. And then for I use, like, that The power line font for special characters. Oh, gosh. They're all different sizes, slightly different. You know, even sometimes you go into Photoshop and you type some text And you try to vertically align it. Like, that's not vertically aligned. It's because the font is a little bit funny.

Wes Bos

And I've never run into any weird

Guest 2

Alignment issues on warp. So I I know you must have spent a ton of time on that. We well, if you used to warp really early on, we had it like, one of our top bugs was the text Just blurry, and that's not fun if you're a user.

Guest 2

And that's because it's we didn't initially do the alignment right, And we had to sort of figure out how to like, we had to go fairly deep on that. We actually wrote a blog post on it.

Guest 2

But figuring out how to do the alignment right, and and, especially, we had problems on people who have non non, retina or non, like, super high def screens, where there's I'm not to geek out too much, but there's there's a thing that you do on those types of screens called what's it called? Sub pixel Yeah. Sub pixel rendering. Yeah. Sub Sub pixel rendering, which we're like, do we wanna support that or not? We ended up we didn't support that, but we did support something that's, like, pretty good because that like, you know, developers have these gigantic screens that are not always retina, and you you kinda have to make the text look good everywhere. And if the text doesn't look good, I I feel like People aren't gonna use the product. Mhmm. Yeah. Especially when terminal is mostly attacks. Yeah. Yeah.

Wes Bos

Let's talk about, Like the blocks and everything like that. How does that work? Like, are you translating like I type l l or I'm running a node process and the node process is sending text back to the terminal And all that data is being encapsulated inside of a block. And if I kill the process and start again, it's its own block, which I love because I can I can search in a site, a specific block, and it just makes text dumps, especially my cowboy debugging style? It makes it so much easier.

Topic 10 31:25

Discussion of Warp design decisions like mouse support and inline command suggestions

Wes Bos

How are you doing that actually, technically? Yeah. So, technically,

Guest 2

so work I guess one of the important things when we started was, like, we we wanted work to be usable with people's existing shells.

Guest 2

Like, we we thought if we didn't make that work, we wouldn't get any usage. And so We have these product concepts that we were really big on, which was like, let's put some structure on the terminal output, and that's blocked. So it's like, You know, with a terminal block, we kinda know where a command starts and ends and can, like, make it easy to do copy paste. You can make it easy Share the output of 1 command. You can search this within 1 command's output. Now you can ask corp dotai about 1 command's output. And so it's a really useful primitive.

Guest 2

Shells don't support this natively. And so what we ended up doing was, different shells expose different hooks In sort of the life type like, their life cycle of, like, running commands. And so ZSH is pretty good. I don't know if you guys are using ZSH, Bash, your failure.

Guest 2

Has has actual, like, a fairly well defined in interface called, like, Precommand and post command where you can add a shell function, and that shell function will fire you know, when it'll fire, like, when a command starts and when a command ends, basically.

Guest 2

And so what what we do is when we initialize your shell, like, let's say, you know, because the terminal starts the shell, we can put a little bit of, like, Magic into the initialization phase. We say, hey.

Guest 2

We'll we'll define a shell function that tells warp when, when those life cycle events are happening.

Guest 2

And, like, what we actually do and, again, we I this is we we wrote about this is there's a you know, the the, like, the terminal protocol is, like, Really weird and archaic, and there is something called a DCS, like a device control sequence, which basically lets you send back metadata that it will not show up. Like, the terminal is able its control characters, the terminal is able to parse this. And so we have a little bit of a communications protocol from the shell to the terminal that lets us understand what's going on. And so we can understand these hooks, and then we can also send back context that we use to do things like rendering, like, to know, like, you know, warp has a default prompt, for instance. And so we're able to use these hooks to generate that as well. And so, like, We integrate with the existing shells, through, like, their APIs.

Guest 2

And Bash has a totally different way of doing this, and Fish has a totally different way. Mhmm. And so that's why it's, like, it's nontrivial to just sort of, like, support

Scott Tolinski

new shells for us. Yeah. And speaking of shells, like, what's your favorite shell personally?

Guest 2

I use You know, honestly, my take on this is, like, the terminal and shell distinction is not something I'm, like, a huge sort of fan of. Like, I tend to think of it as, like, I'm using this product to get stuff done, and, like, I don't actually want the the overhead in my mind of knowing is this like a terminal feature or a shell feature. I just want, like, a command line feature.

Guest 2

And so, you know, Warp blurs the line with a lot of this stuff, which I think it drives some of our users who are, like, really savvy. It kinda drives them nuts, but it's like For I think for most people, it's feels like a huge advance to not have to think about, like, Is this in the shell? Is this in the terminal? Where are my completion? It's like, I just want a thing that works, and so that's kind of my philosophy on it. Yeah. Truly, that's the been the one One of the big downsides of anybody trying to pick up terminal for the 1st time at all Yeah. Is,

Scott Tolinski

what I have to learn what a shell is. I have to learn now there's different shells. I'm Arving and tapered command, it doesn't work. Like, yeah. What would pain. Yeah. Yes. So try to try to remove that pain and try to remove that, like, Incidental complexity

Guest 2

that has carried over because this is, like, such an archaic, like, setup is really one of the things I care about a lot. Yeah. And that's amazing because it felt like nobody was caring about that, really.

Wes Bos

Totally. Because I have I have I have a course command line power user, Which I only made because people say, how do I get my terminal to look like this? And I go, well and I still get emails because people are like, Well, it kind of looks like it, but the colors aren't there. Well, I'm like, well, there's a theme, but there's a shell. And those 2 things aren't the same. You know, you need the theme, you need the shell, you Need the terminal application and you need these plug ins. Oh, you need the prompt. You need the. Is is Warp Ever. Like, do you do you guys ever think about Possibly just, like, giving me the warp shell. You know, like, could we ever do I know you already have your own prompt, and I still use this ZSH prompt, but will you ever just Eat that entire lunch, and I can say goodbye to to my entire shell?

Guest 2

So the answer is, Yeah. We wanna do that because, again, I think if we had a fully integrated command line, We can have the best experience. Yeah. Because there there's weirdness right now in warp around the fringes of this.

Guest 2

Meaning, like, we don't support every prompt perfectly.

Guest 2

Like, the the way that we, like, hook into the shell is, like, You know, it's like a little bit of a clutch, and so and then I also just don't think the actual language of the the shells. Like, if you want for for doing things, like, for scripting Jing is is not very pleasant, and so I think we could improve on that. We could improve on the configuration mechanism.

Guest 2

So it's like, yeah. But we I feel like there's a little bit of a chicken and egg problem, and we didn't start with that because there's so much preexisting art and, like, The, you know, making someone onboard into a a place where, like, their ZSH scripts don't work feels like Feels problematic. Although there's different ways to handle. You could fall back. I I do think there's a lot of ways we could we could, we could improve on this. Yeah. Honestly, if you

Wes Bos

Were to make your own shell that even bit a little bit more into, like, the finder territory, I would be all into that. Just like A hover, a photo to preview it. Mhmm. And Mhmm.

Wes Bos

And this is just request

Guest 2

hour right now. Yeah. Right. Anything that's a little bit more rich media than me. Like, I I mean, look. If you have a product idea, I think probably a lot of people would like it.

Topic 11 38:04

Possibility of Warp creating own fully integrated shell environment in the future

Guest 2

Like, I I think that that kind of stuff makes total sense.

Guest 2

And, And, like, we are thinking about that kind of stuff with the blocks, by the way. Like Yeah. There's a lot of value in knowing where our command starts and ends. And, like, for instance, like, I feel like we could do, like, a nice rendering of CSV or JSON data in a way that's just native, that just works, that other terminals would have a really hard time doing because they don't have that metadata.

Guest 2

So it's like I think going further down the stack makes a ton of sense for us. We're not there yet, though. Yeah. Yeah. Was so is the blocks thing was that, Like, one of the core ideas you had initially,

Scott Tolinski

or is that something that evolved

Guest 2

from No. That was that was, like that's been in all the versions of Warped. So that was, like, I would say the 2, like, core, like, UI changes that we wanted to make out of the gate were, fixing input and output. And so this this was, like, one aspect of fixing output was blocks.

Guest 2

And then the big, aspect of fixing input was, like, know, we have a real text editor for your input area in warp, and so, like, let's make the mouse work. Let's, like, make Completions and auto suggestions and syntax highlighting, all that stuff just, like, work out of the box, but, like, really, let's make the interaction feel Less weird than in a normal like, your standard terminal. Those were the 2 ideas that we led with, and then we've We've kinda built on them. Yeah. What a what a, concept. Let's make the mouse work.

Topic 12 39:38

Discussion of Warp's context-aware autocomplete and integrations with AI

Guest 2

I mean, it's like it's almost embarrassing. Like, when I give a demo of it, I'm like and look. Look. You you could you could double click, and and if you hit delete, it deletes the word. It doesn't delete a character at the end of the line, and people developers are like, oh, wow. Like, it's it feels It's like embarrassing. It is. It's

Scott Tolinski

valuable. It's very valuable. Yeah. It's the type of thing that people like me have always been like, I I just don't get why Why? Why this has taken so long? And so thank you for actually prioritizing

Wes Bos

that. Yeah.

Wes Bos

One question I have and I guess it's kind of a 2 part is around all of the missing completions, in in warp right now. So I have, like, A 1000000 things that don't have as good of autocomplete or suggest that worked in specifically Fig or just in regular old thing. Is there Do you guys have plans to

Guest 2

not have to support every single completion ever and then just allow or Some sort of plug in system or be able to consume existing ones? Yeah. It's a great question. It's one of the areas our app's not we're not Crushing at the moment, like so we actually we we use Fig's open source completion specs. So Fig, you know, Fig is a cool tool. It's like they they, They, I think, have done a really good job for the community in getting people to write these specs and, contribute them to open source. And so We can't just use them 1 to 1 though because we're written in Rust and and those specs are in TypeScript and they're dynamic.

Guest 2

And so, like, the short answer is, like, we're behind. So we we need to sort of do, an update on that. We're actually trying to see this is kind of an interesting application of AI. If we can do, like, Continuous update based on translating them using GPT 4, which I think would be really cool, but that's just part of the strategy. The other strategy is we're gonna do what you're suggesting was, which is, which is make a spec and let people, build on it. But I just think we have to do that because we're otherwise, we're gonna be constantly behind, and, like, Developers like, extending their tools and, like, have all sorts of internal tools, and so we just need to have that. We just haven't done it yet. It's It's probably coming, I would say. Yeah. I I we will have that by the end of this year. I'm pretty confident, if not sooner. And

Wes Bos

what will How will we write that spec? Do you have any ideas? Like, I know Raycast is also built in Rust, but then they surface to us plebeians with a JavaScript API, which is then, rather

Guest 2

This is a little bit TBD, but probably probably we will do it in JavaScript or types or TypeScript because it's just much more accessible to a larger number of developers than, than Rust. Yeah.

Wes Bos

Sweet. I'm excited to hear that. That's my main question. I a shout out to also one of your support engineer, Danny, It was, hold hold he's holding down the 4 in the completions thread. I visited every couple days. I know. Poor guy. It's like,

Guest 2

I mean, it's it's it's good that users express what they want. I'll say that. It makes it very clear. Like, this is a thing that we we need to, we need to invest in. And, like, you know, like, half of our team is working on these types of things just in case there are warp users who are listening, who are like, why don't we have this? So So it's like we're working on this. You know, another really cool thing that's coming out, pretty soon is is support for warp inside subshells. So it's like you can use Warp inside of, like, a docker container, for instance, which I think is a really big deal. So if you you know, right now, when you go into a docker container, You just use the shell environment that happens to be in there and, you know, with with warp sub shell support, you're gonna be able to use, Like, basically, I have all your completions inside Docker, which is really cool, and your history and your workflows. And, so I'm And we're working on these core things, and we're trying to go basically in order

Wes Bos

the users are requesting them. Yeah. Yeah. That would be cool because I I use I have a Synology NAS, and on that, I run all kinds of Docker images for home automation and worst. Yeah. TV shows and all that. And I just think, like, how sick would that be if there's a little button that you click and

Guest 2

you can get a nice warp terminal that's That that's literally that's what it's gonna be. Yeah. That that's that's coming. Like, I'm I'm, it's a feature that I'm super excited about. Awesome. That's great.

Wes Bos

Is there any other,

Guest 2

features that We should talk about the AI stuff a little bit. Working on? Yeah. We should talk about the AI stuff. I also like, I built this crazy thing. I don't know if you guys have seen it where you can where you can put the input at the top. So this was another major complaint people had in warp. And then I built this thing where it's like you can actually do a reverse mode where the the terminal commands kinda flow in the reverse order, and your input always at the top? So that was like No way. That would be see that. Oh, you should check that out. It's like I don't know how people do seem to to like it. It's pretty crazy experience because, like, It's like I'm trying to think of the analogy. It's like in a video game if you, like, invert your controller or something. Yeah. It I've it feels like the type of thing I would actually really like. Yeah. You should you should check it out. So that that just launched.

Guest 2

The AI stuff, so Warp AI, we did a, initial launch around a few weeks ago, and that I'm, like, extremely bullish on.

Guest 2

So, like, there's there's 2 ways you can currently Use AI to help you get more done inside warp. So one is something that we launched, actually, probably almost a year ago using codex where, Basically, it's like you can translate natural language into a command, and you do that by, like do you, like, prepend your command with, like, the Hash with, like, the pound pound sign, and then you type like, hey. What's the command for, like, you know, tarring up all the files in this directory? It just spits out the tar command. The new thing that we just launched is is, is more of a chat style interface, and so it's it's in it has some cool integration points where, Like, if you have an error output, you could just be like, ask Warp AI, how do I fix this? And it will sort of, like, Have a conversation, and then it will give you commands that you can sort of directly, use to, like, you know, do terminal stuff.

Guest 2

I think that this is gonna become more and more seamlessly integrated into warp, and it's I think it's gonna become less oriented around commands And more oriented around, like, actual tasks. Like, how do you be, like, like being, like, I wanna pull logs from this server. And, like, that might be, like, 5 commands or something, But, you know, the ideal would be, like, Warp AI can help you construct that whole like, accomplish that whole task.

Guest 2

And then, you know, the other place I think we're gonna go with this is, like, can you make CorpAI actually understand your own setup? So it's like if you have internal tools or if you have, like you know, you're using G Cloud or AWS, it it can it can Do more than suggest the generic command, but can actually sort of solve your problem. And I think for the terminal, like, this is, like, such a killer use case for this type of technology that I'm Super excited about it. Yeah. There's so many times you go to Google or Stack Overflow or whatever,

Scott Tolinski

you follow these commands, and then, Potentially, you're running things you don't understand on your machine. You understand? Yeah. And and they they have the times, maybe you're the you don't even understand the question enough to ask The right question so that the thing you're trying to do from a Stack Overflow post isn't even what you wanna do in the 1st place. Yeah. Like, I I I sent you guys a draft of this This blog post I'm working on, like, I think that the the

Topic 13 46:49

Bullish on AI assistants in Warp to help with workflows and tasks

Guest 2

the way most productivity interfaces are gonna work and I was thinking about this from lines of, like, Google Docs and Figma and Warp and Versus Code is like this paradigm of you ask An AI for something, and the AI basically generates, like, a draft of it. And it could be editing or it could be or it could be generated from scratch.

Guest 2

And then there's some phase of, like, manual adjustment, and then you execute it. It's like I think I think all of these productivity apps are Gonna have that. Mhmm. And, you know, I I think it's, like, basically, the paradigm of how you work with most Productivity apps is about to sort of drastically change to be

Scott Tolinski

more AI first. Yeah. Totally. And we're we're seeing that in all kinds of ways. But, You know, the the biggest thing that sticks out to me is just docs for things. Right? You're gonna be able to ask the docs questions rather than have to go keyword hunting and having the keyword, yes. Find you, you know, hopefully, something that's been cataloged somewhere. So yeah. No. It's it's gonna definitely change a lot of how we interact Stuff here at none. It's exciting to see,

Guest 2

it's exciting to see it it pop up in places like the terminal, which, you know, many people might overlook. Like I said, I think the terminal is actually Perfect use case because so much of what you do in the terminal is totally opaque, and it's, like, Scott's such a steep learning curve, and these models are all built on, like, understanding text and giving you text, which is The interface of the command line. And then these models are also all trained on a ton of

Wes Bos

command line data. So it's like it's a very I think it's a really compelling, really use case for One thing I I love. There's so many little things in Warp where I tell someone if it's just for clicking where you want your mouse to go, You need to try work. Yeah.

Wes Bos

The other one is the the autocomplete suggestions when you goof a command up. So the common one for me is like that. Yeah. I wanted to get pushed. And it's like, well, this branch is not set up on the on the remote yet. And it just suggests the whole long string of I I don't even know what it is because I just hit the arrow key and and warped

Guest 2

for me. Yeah, please. Okay. Creates the remote branch that matches your local one, and I it's so good. I just find it so handy. I think that stuff adds up. Like, I think if we're, like if we're saving people 5, 10 minutes a day based on, like, Oh, you don't have to, like, remember that stupid Git command because it's like then I'm I feel like that's valuable to to hear that. Yeah. Another thing I'm not sure even sure if this is live yet. Somebody from Warped sent me a demo of it.

Wes Bos

Was It's I I think so. Maybe you can tell me if I'm wrong, but it's we're starting to remember what commands you run-in which folders. So, like, If I if I'm running NPM or PMPM run dev in 1 and then I'm run PM NPM start in another project, it should know The common command that I run-in that specific folder and not just a command that I run often,

Guest 2

is it starting to do that? This is not live, but this makes this is, like, stuff that we're working on. So there's there's, like, can you make the suggestions context aware is kind of an obvious thing? Can can you There's it's also, like, fairly predictable, like, if someone runs command a, that they're gonna probably run command b next, like, a lot of the time, like Yeah. Get get commit, get push. And so we're we're trying to build, like, little bit of intelligence around, like, can you make the auto suggestions better? Eventually, I think the auto suggestions will work Probably a little bit more like Copilot where it's just like it's like there's an actual AI being like, okay.

Guest 2

Given this context, given this command history, like, suggests, you know, this is the next command.

Guest 2

We you know, we're we're one of the challenges with putting that everywhere is just we we need to make sure that we do it in a way that, like, respects people's privacy. It's like all of our AI Features right now are totally opt in on a per use basis, so you're like, I want help with x. Mhmm. Mhmm. I do think it would be a more powerful interface if it was like, Oh, I want AI everywhere in this app.

Guest 2

But in order to, like, do that, it's like, I think, you know, you have to find a way to do it where it's like people feel like you're not Sucking up their data or doing something, like, nefarious like that. So we've tried to be very careful around that. Is there is there anything else that we haven't talked about that you'd like to touch upon before we move into the next section? No. I think I think that we've we've we've covered, like, I think we've covered a really good amount of stuff.

Guest 2

You know, we have we are working on some features for teamwork and collaboration that I think are gonna be really killer also.

Topic 14 51:41

Upcoming Warp features for team collaboration and knowledge sharing

Guest 2

Those are Those are coming out sometime early summer, something like that, which I'm I'm excited to see how if we get if we can get teams to start using warp together as a place to, like, share commands and share terminal knowledge. I think that'll be really valuable.

Guest 2

But, no, other other than that, I think This has been a super fun conversation. We've covered a lot so far. Awesome. Let's move it in the next section, which is a set of questions that we have for everybody.

Scott Tolinski

Yeah. So first and foremost, what kind of computer and mouse and keyboard do you use? I'm on a an Imac.

Guest 2

I'm using the regular mouse, and then the only fancy thing that I use is a keyboard, which is a Microsoft split keyboard. Oh, wow. So it's like

Topic 15 52:21

Guest uses iMac, Microsoft split keyboard, VSCode

Scott Tolinski

Oh, yeah.

Scott Tolinski

Yeah. That's cool.

Scott Tolinski

Is it low profile? What the I like the low profile. Low profile.

Guest 2

You You know, for a while, I was using, like, a mechanical keyboard, like a Keychron, and then my wife was like, this thing is just so annoyingly loud. Yeah. Please can you please use

Scott Tolinski

Can you please use something else? I know. And it's Wes and I really liked mechanical keyboard. I like them to use them, but, like, we both record a lot of video where we're typing. And if that clicking is in the typing or in the videos, yeah, that's that ruins your video. Yeah. Yeah. It's

Wes Bos

I've I've tried it many times. It's one thing to get a nice clicky The key in the background, but it's another thing to get the Back back back back. The low the low frequency vibrations.

Scott Tolinski

Yeah. Pumping on somebody's speaker. What about Text editor,

Wes Bos

theme, and font. I'm in

Guest 2

Versus Code.

Guest 2

I don't know. I think I'm just use like, a default.

Guest 2

I'm not, like, a crazy theme or faunter, so I'm using, like, a default dark theme in Versus Code. Cool. Do actually, 1 question is, do people use Vim straight from Warp?

Scott Tolinski

Yes. Yeah. Wow. Very common. Yeah. So since you've worked on a lot of different, like, types of projects, if if you were to, like, start a A new project today that wasn't a terminal project.

Scott Tolinski

Like, what kinds of what kinds of topics would you be interested in? Just something interesting or fun to you. Like, if I'm starting a like a company or just like a fun, like, thing that I wanna work on? Just a fun project. A fun little coding project. That's interesting. So, like,

Guest 2

I I'm super interested in music.

Guest 2

I'm I'm, like, learning drums. I play guitar. I'm trying to learn how to sing. I think it would be cool to to see, like, how if there's a way to use the generative AI to help me become a better singer, a better musician.

Topic 16 54:02

Guest is interested in using AI for music education

Guest 2

Feels like that like, the method for teaching in a lot of domains could be pretty heavily impacted by, by the generative AI stuff. And, like, I'm I'm specifically interested if I could have, like, a music teacher Oh. That would be really good based on that technology. That'd be super fun. In college, I had to take singing,

Scott Tolinski

which I'm not a a talented singer. I'm a pretty bad singer, and my my range is, like, one Octave, and it's pretty low. Mhmm.

Scott Tolinski

But in our singing class, what they would do is they would present you with a sheet of music that you've never seen before, and you had to sing the intervals, essentially it. So it was less than, like, the quality of your voice and more or less can you hit like an ear training. Yeah. Can you hit these intervals? I would have loved to have some sort of an app that was not just me practicing the same songs over and over again because when you practice them, you kinda get them, And then I'd get to the exam. They would say, hey. Sing this interval, and I'd be like, like, you know, just

Guest 2

butcher it. So, yeah, maybe that that would be fun. Yeah. I mean, there There are, like there's an app that I'm using to learn drums, which is pretty cool, but it's like the interaction with it is not very fluid, and I think you could do something much better if if you actually had a more of a conversation with the teacher.

Guest 2

I think there's gonna be a ton of innovation in this area. Basically think the the AI stuff is gonna change so many different

Wes Bos

domains. Yeah. Yeah. We're we're pretty excited about it as well. It's it's kinda interesting because we don't wanna come off as, like, these, Like, obnoxious AI bros? Sure.

Wes Bos

Which I think it's funny. You talk to a lot of people who are just like, nah. It's you know, and it's it's because they're they're burnt on especially I think they're burnt on a lot of the crypto stuff, but, like, oh, my god. I think it's a different World man. And a lot of the same crypto people, like, pivoted pretty hard into AI, and they've, like, done it in, like, a, you know, thread below type of way. Yeah.

Guest 2

Yeah. Like, I'm super crypto skeptical, and I I also have been like I feel like it the the the hype cycle for AI has been going on for so long that it's like, I remember when I was when I was at Google, and it was, like, I don't know, like 2013 or something. And, like, the one of the Google founders, Sergei, was like, by the year 2020, like, Every car will be self driving, and it's like, well, no. That, like, didn't actually pan out. But to me, the, Like, the generative AI and ChatChipt and that type of thing legitimately seems like it's gonna be more the level of impact of Something like the iPhone or, like, when Google came out. Like, I I'm tend to be skeptical of these things, but having Used it a bunch. I'm not skeptical.

Guest 2

Yeah. I think it's very real. Totally.

Wes Bos

So the last section we have here is sick picks and shameless plugs.

Guest 2

I'm not sure if you read the notes or not, but did you come with a sick pick? I don't know. It's just gonna put put put me in the bucket of being an annoying person, but I so I'm in New Mexico, and there's no gym anywhere near me, and so I got a tonal. Oh, yeah. Heard of this? I have a tonal one. You You all you have at Tono? It's the best.

Guest 2

It's awesome.

Guest 2

I feel like kind of as you're saying because it's it's it's

Topic 17 57:17

Guest's sick pick is the Tonal home fitness system

Scott Tolinski

It's expensive.

Guest 2

It's expensive.

Guest 2

You have to subscribe, but it is freaking awesome because I just go to my garage.

Guest 2

And, like, the thing Like, it knows how much weight I should be lifting.

Guest 2

It adjusts. It makes you feel kinda good when you hit a personal record. And so, like, I I the tonal is my what did you call it? Sick pick? That's my that's Yeah.

Scott Tolinski

Yeah. I don't know if I would do it if I had, like, a gym near me, but, like, It's perfect for where I am. It's it's good, and we we got it because our squat rack didn't fit in our basement, and I didn't wanna put the squat rack in the garage. So it's like, alright. I need something, And I'm not I'm at the age where I'm I don't need to be lifting crazy heavy anymore. I just wanna, you know Yeah. Just wanna maintain here. So, yeah, for for me, it's just like it takes all the guesswork out of it. Right? You you're signed up for your program. You show up for your program. You do the thing it tells you to do when you're done. I love Yeah. It's it's great. And what was the other thing? Shameless plug.

Wes Bos

Plug as many things as you want.

Guest 2

Okay. Can I plug we we would We're growing our team? I guess that's my main thing. If I had to pick 1 thing, and I really, the the the roles that we're looking Or if you're an awesome designer and interested in, developer products, it's ton of super cool design challenges at Warp.

Topic 18 58:39

Guest plugs Warp hiring - designers, engineers, growth

Guest 2

If you're an engineer who likes building stuff that you get to work on yourself or interested in learning Rust, Especially if you're, like, a very product focused engineer, Warp is like, we're a small team, but, like, we're still hiring for engineers.

Guest 2

Or if you're, like, Someone who's more interested in growth and helping, like, make people more aware that WARP exists, we're hiring for that too. So my shameless plug is All around Warp recruiting. Is that allowed? Absolutely. That's a great one. Absolutely. Yeah. Okay.

Wes Bos

Awesome. Well, thank you so much for coming on. Appreciate all your time and Answering all our questions about Warp. I'm pretty excited about the the future of the product as well. Yeah. Super excited. Thank you both for having me. Thank you for using the product. Thank you for giving feedback.

Guest 2

We have a bug fix coming for you, Wes, around the top of the background. The background stuff? Yeah. That's around background stuff. Like, we've been working on that. So, yeah, thank you both so much for having me. This Super fun conversation. Cool. Thanks. Thanks so much.

Scott Tolinski

Head on over to syntax.fm for a full archive of all of our shows. And don't forget to subscribe in your podcast player or drop a review if you like this show.

Share

Play / pause the audio
Minimize / expand the player
Mute / unmute the audio
Seek backward 30 seconds
Seek forward 30 seconds
Increase playback rate
Decrease playback rate
Show / hide this window