1. Library
  2. Podcasts
  3. Generationship
  4. Ep. #4, Reimagining The Terminal with Michael Sawka of Wave Terminal
21 MIN

Ep. #4, Reimagining The Terminal with Michael Sawka of Wave Terminal

light mode
about the episode

In episode 4 of Generationship, Rachel speaks with Michael Sawka of Wave Terminal (known as Command Line Inc. at the time of this recording). This talk focuses on the terminal, how easily it’s overlooked, and what’s missing from the terminals we use today. Other topics explored include the security implications of commercial LLMs, the risks AI poses to programming as an occupation, and the hard lessons Michael learned on the journey to building Wave Terminal.

Michael Sawka is the Founder & CEO of Wave Terminal, an open-source, cross-platform terminal for seamless workflows. Michael has 20 years of technical experience as an engineer, manager, and startup CTO, and is a Standford Computer Science graduate. He previously founded Dashborg.


Rachel Chalmers: Today I'm overjoyed to welcome my friend and colleague, Mike Sawka, to the show. Mike is the founder and CEO of Command Line Inc, a seed stage startup building an AI powered command line Terminal, in which I'm a personal investor.

Command Line is a graduate of the Alchemist Accelerator, Mike is a Terminal deconstructor, GoLang hacker and React/TypeScript app builder with 20 years of technical experience as an engineer, manager, and CTO at startups in the San Francisco Bay Area, and a Stanford Computer Science graduate. Mike, welcome to the show.

Michael Sawka: Hi. Thanks so much, Rachel. I'm happy to be here.

Rachel: We also have a guide dog puppy, Wiley, here with us today so if you hear any jingling in the background, that's Wiley the guide dog. Mike, can you tell us the story of Command Line? What different paths did you take to get to the current iteration of the company?

Michael: So it's been quite a journey, right? I actually started doing an internal tool startup with the name Dashborg.

Rachel: Such a cool name.

Michael: Thank you. I love that name. So I started as a backend developer and I've always loved the simplicity and ease of building tools in the command line, and so frustrating that there was always so much code, literally a mountain of JavaScript and deployment logic to get internal tools off the ground. So I did a lot of customer discovery, and it actually turned out that backend engineers aren't so keen about making frontend tools, and so it didn't work out. But those customer discovery interviews were really valuable because that's what really lead me to Command Line Inc.

It's just a much bigger, much better idea and it's solving a problem that tens of millions of developers have, so it's actually a great lesson. How do you know you have a good idea? And it's kind of cliche, but it's like when you know, you know.

So I just felt like once I switched to this, building a new command line Terminal idea, it was like instead of pushing uphill all the time, things really started to fall in place and everything made more sense.

Rachel: Yeah, that's absolutely true. The serendipity kicks in, people start asking you for the thing, instead of you having to try and push it on them.

Michael: Yeah. Definitely that idea of doing those customer discovery interviews and gaining that, "That's cool." Versus, "Oh, this is interesting. When can I have it?" It was very different.

Rachel: Yeah. "Give it to me." And it felt like such a huge insight because I was around at the time, because the Terminal is so easy to overlook. It's like a window, everybody looks through it. Realizing that, no, this is the thing, this window is the problem, it was super exciting.

Michael: Yeah. No, it's really interesting. I'll have a conversation with people and ask them, "Hey, do you have any issues with the Terminal? Does it work okay?" And they'll be like, "Yeah, everything is great." And then we'll get in and 15 minutes later and they'll be like, "Well, copy and paste doesn't work, I can't edit things. There's so many different pieces that are annoying, you have to keep context switching." And so that was just really the insight that people don't think of it, but there's a lot of problems to underline there.

Rachel: What are some of the things you wish you'd known at the beginning of this journey?

Michael: Yeah. There's a lot of things I wish I would've known. We switched ideas, I wrote too much code at the beginning, I did terrible customer discovery interviews, everything took longer than I thought, so many rejections. But in some ways, I'm maybe kind of glad I didn't know that, coming in.

Who knows if I would've been here if I would've known how hard it would've taken? But I think you know, all seriousness though, it really gave me a lot more respect for marketing and fundraising. I'm a builder, and I think if you're a builder you have to just be prepared for things to take longer than you thought and you have to be really prepared to roll up your sleeves and talk to a lot of people, and deal with lots of rejection, and just steeling yourself for that part of the journey is important.

Rachel: Thank you for the shout out for soft skills though, because I came up through marketing and research. The Valley doesn't really look on those things as particularly valuable, but they really are. I mean, that's how you go from a bit of code to a product, ideally.

Michael: Yeah. I definitely think it's that idea of, unfortunately, if you build it they don't necessarily come. So you need those skills to attract users and get your idea off the ground.

Rachel: Yeah. What is missing in the Terminals we use today? You mention cut and paste, but in particular, where can AI help?

Michael: Oh, there's so many things that are missing in the Terminal, right? There's all the soft parts around the fact that the Terminal application doesn't function like a regular application. Yeah, copy and paste, graphical-ness, when you open it up it's blank. I mean, one of the crazy things I came across initially was that the Terminal doesn't even know what commands are being run through it and so there's no history of all the commands that you've typed, except on that one machine that you're logged into for that one user.

Rachel: Right. No state.

Michael: Yeah. And I think that's where AI can start to come into play because now if you think of a Terminal that does remember all of the commands that you've typed and maybe if we have collaboration and we can roll up all of those commands, not only for yourself but for your team, or eventually an enterprise... Well, how do you search all that? How do you synthesize that? How do you come up with best practices? These are all things that AI is great at doing. So writing documentation and then using that documentation to then generate and help people write commands, I think this is going to be huge.

Rachel: Did you ever work on the literal Terminals, the physical Terminals? I'm going to be aging myself now but, yeah, my first internet access was via Terminals running off a mainframe in a lab, under the trains at Trinity College in Dublin.

Michael: I was lucky, I actually just... So my year was the first year that they had Ethernet in the dorms at Stanford.

Rachel: You're a child, you're an infant.

Michael: I thought I was going to go into chemistry, but being able to do my lab work at my dorm room was one of the key reasons why computer science seemed like the way to go.

Rachel: "Oh, hey. I don't have to work anywhere. This is brilliant." Okay. So gen AI is really good at surfacing things like best practices, but it's also really good at lucid dreaming and having hallucinations. What you're building is going to be a mission critical piece of kit. How are you thinking about handling hallucinations?

Michael: That's a very hard problem. I think that we're going to need more data in the CLI space to see how bad that is and what problems are going to come up.

But I'm a big fan of this idea of generate, check, and then execute. So there'll always be that human step involved, at least at the beginning where people can review the code that we generated and then decide is this something I want to run?

I also think that there's two different types of generation, one that's coming basically from commands that are already written and just reparameterizing that. I think that's very safe. The other is when you take multiple commands together and say, "Dream up something new," and I think that those are the ones where you have to be a lot more careful about.

Rachel: How careful do you think people are going to be? Are they going to be combing through those commands? It worries me. I know I'll accept suggestions from gen AI on autopilot and then be embarrassed that I had things in the copy that it produced, but I'm not using it for serious purposes yet.

Michael: Mission critical stuff, yeah. I definitely think that that's a problem, although I think we have that problem today. A lot of code comes from Stack Overflow, people copy and paste things directly into the Terminal.

Rachel: It's not just code. I was talking to a lawyer the other day and people are just copy and pasting term sheets and contracts. It's terrifying.

Michael: Yeah. I think one of the ways that the Terminal can help with that and one of the things I'm thinking about, is how we can also use AI to analyze the commands that are being run and then putting guardrails on that. So for instance, if you say rem*, because I can see those commands before they actually get executed by the underlying shell, I can say, "Hey, it looks like you're about to delete 10,000 files. Are you sure you want to do that?" Whereas if you're only going to delete one or two we can just let it run directly. So I think building these types of guardrails in after the fact as well can make a big difference.

Rachel: I love that. One of the reasons I particularly love companies like Launch Darkly and Honeycomb is because they do build in those guardrails. They make software, they make SRE a little bit more compassionate, a little bit less tightrope walking over the Grand Canyon. Is that something that you're building intentionally because of experience with getting yelled at when you get things wrong?

Michael: That's a good question. I think it's just once you start seeing all the limitations of the Terminal, you just start seeing so many different things that should've been fixed and I can't believe that we can't live without. I mean, the fact that only the shell knows how to do expansions, only the shell knows what's really going on in the machine is kind of crazy to me. So yeah, once you start thinking about all the different things the Terminal could do that it's not doing, especially when you add AI, I think it's just a huge green field of opportunity.

Rachel: Why haven't we done any work on the Terminal? I mean, it's been pretty much the same for the last 25 years. Is it because it was invisible to everyone? They didn't see it?

Michael: I really think it's the chicken and egg problem. I really think it's the fact that there's the Terminal and the shell, and when the Terminal was created it was a hardware Terminal, as we discussed. You couldn't add anything interesting or smart in there, so all the smarts went into the shell. Now, if the shell wanted to do something new, all the Terminals had to support it. If the Terminal wanted to do something, well, then the shells had to support it so no one ever made any progress. So really, the insight is can we break that chicken and egg problem and allow the Terminal to be smart and independent of the shell? And now we're able to just add a ton of new, cool features.

Rachel: It's super exciting, because stuff like my kids have never seen a floppy disc except in a museum. We have all of these archetypes in our brains about how we interact with computers, and when we notice one and can deconstruct it, it just opens these floodgates of opportunity.

Michael: Yeah. And I think that's a thing, I love the Terminal, I live the UNIX architecture, I love all of this. But if you think about how would we design the system today, not in the 1970s when we had very real limitations, it just makes more sense to be able to build more stuff into the Terminal itself and move that function out of the shell.

Rachel: Pour one out for Ken Thompson and Dennis Ritchie though. If any of our work is still being used in 50-60 years I'll be pretty happy.

Michael: Oh my gosh, yeah. That would be amazing.

Rachel: In using commercial LLMs, do you worry about the privacy implications? How much confidential data could leak?

Michael: Yeah. I think this is a huge problem, and I think it's a problem the industry has to figure out. I don't think that that's a problem that my company specifically is going to have to figure out, and I'm really interested to see how this all shakes out, both socially and acceptance-wise over the next year or two. Especially I think there'll be a difference between what small companies, medium companies and then enterprises accept, and once we know what's going to happen there I think we'll know how to proceed.

Rachel: Yeah. I think startups as you say are going to have different standards from big banks for obvious reasons, but startups are going to want to sell into big banks so I do worry that it's going to be a blocker for adoption of these kinds of tools.

Michael: Yeah. I think even stuff like AI code generation, I remember being asked by my lawyers, like, "Hey, do you have any AI generated code in your codebase?" I didn't, but it's interesting because now what codebase is not going to have AI generated code in the future? So I think it's just the norms are going to change and we're going to have to have assurances from these big, commercial LLMs that there is privacy restrictions and we're just going to have to accept it.

Rachel: Yeah. And I don't think we've even imagined all the risks yet. It's going to be exciting. How do you see AI enhancing or detracting from the work that programmers do?

Michael: There's so much around programmer work to discuss in AI. I think AI is going to be a big enhancement to developers. Really, I think it's going to come down to two pieces, there's a mechanical aspect of programming and there's a recall aspect to programming. I think that these two pieces are where AI can help the most immediately.

I've always been really great at just turning my thoughts into code very quickly, I type fast, I was on the ACM programming team, I know how to do that really quickly. But there's a lot of people where that mechanical transformation of what's in their head into code takes a long time, and I think that's where AI is really going to help.

The other piece is around recall of functions and API functionality and classes in the codebase. This is now a place where senior engineers are often the guardrails on that, where someone checks in some code and is like, "Hey, you should use this function. You should use this library function. This is not the way we do things, we do things this way." And I think AI is going to be become more and more the guardian of that type of style and of that type of best practices, and I think that's where things will be much easier.

Rachel: Yeah. Again, it's the institutional memory, it's the being able to preserve and surface norms about what works and what doesn't in a specific environment.

Michael: Yeah. But I think that the creative aspect of programming, that we're still pretty far away from AI. So the engineers that are doing cutting edge work, being creative, building new code, building new ideas, I think that's not at risk. At least not right now.

Rachel: And the hope is always with these kinds of automation is that it will automate the boring 80% of your job and free you up to pursue the 20% that's really worthwhile and engaging. I have that hope for other creative fields as well, for writing and art. I would like to see us collaborating with AI, rather than using AI to put people out of work. Do you have goals or aspirations around the uses of AI in the workforce?

Michael: Yeah. I think that's what's really interesting to me about AI is it let's you experiment with new technologies, with new ways of doing things much easier. Before if you wanted to learn a new language, that could take a long time, weeks, months, depending on your pace. Now with AI you can say, "Hey, let's try and write a new program in this new language and see how it goes." I think it let's you get to a moderate level of proficiency much, much faster than you could otherwise.

Rachel: It's the closest thing I've ever seen to the Young Ladies Illustrated Primer from the Neil Stevenson book, The Diamond Age, which you're looking at me like you've never read. Anyway, it's a piece of AI that trains kids in how to program and how to take care of themselves. It does feel like there's a sense in which being able to communicate with a library, being able to communicate with a set of best practices and standards in a way that doesn't bother or try the patience of an adult who already knows that stuff could be a real advantage.

Michael: That's totally true. The teaching aspect of AI is also really incredible and, you're right, having that infinite patience to learn something is amazing.

Rachel: Do you see risks to programming as an occupation? Do you think that some of these big companies are looking at just firing all of their low level programmers?

Michael: I don't. I think programming is alive and well, and I think that because of AI it's only going to be growing. I think it's bringing more and more people into the field, and I think that as technology expands and covers more areas, we need more and more programmers to manage it.

Rachel: What kinds of programmers might want to think about harnessing AI in different ways to make sure that their careers are future proofed?

Michael: I think if you're not doing a lot of creative work in programming, I think you do have a risk to your job. I think it's a big focus on creativity and making sure that you're breaking new ground and trying new things, and innovating both in your skills and also at work. I think that those are the types of jobs that will never go away.

Rachel: What are some of the ways we might mitigate risks to programming as an occupation, to LLMs as a threat to privacy? How do you see guardrails around the cultural implications of AI?

Michael: Yeah. I think AI is not yet to the point where I'm super worried about that, and I think that that comes in a future when it gets maybe too good. But as far as I can tell, at least with programming, there's still a ways to go and I think that now it's more about reducing repetitive work, helping people learn, increasing institutional knowledge and I think those are all net positive. Ask me again in five years when it crosses the chasm into doing more high level work and then we'll see.

Rachel: Well, it's funny you should say that. I'm making you God Emperor of the World. For the next five years, everything goes the way that you want it to go. What's the future going to look like?

Michael: Well, I'm biased but I really want to see a renaissance of the Terminal. I really want to see a shift back to the CLI from the web. I think a lot of applications have moved to the web and it's very siloed, and I think that what was so great about the Terminal was commands could be composed and they could be scripted.

I think that if we can bring some of that UI goodness, some of this AI, some of these more interesting concepts to the Terminal we can really see the Terminal take off and be a new, remade application. Of course I'm rooting for myself, for Prompt and Command Line Inc, but whoever figures this out I think is going to have a huge impact in developer experience.

Rachel: Do you think that will be people who think of themselves as programmers, or is this something that could be accessible to the person who runs the accounts in a Midwestern dental office? Is there a 10X increase in the number of people who can take advantage of this power?

Michael: I think we'll see. I think that would be amazing, if that could happen. But I think there's a lot of steps that need to happen to make that a reality. I don't know, that's a good question, Rachel.

Rachel: It's a big part of the fire in my belly. I think we're early enough in AI that small nudges could push it in the direction of being a democratizing force, rather than one that silos things up and locks things into walled gardens again. I'd be interested to hear what you think some of the steps are to achieve that goal.

Michael: Yeah.

I think there are so many repetitive tasks, so many things that people want to do that require pulling data from different sources and editing files in different applications and doing all that, that if we can find a way to get all that information together and have AI be able to operate and do those rote tasks, I think it's definitely a possibility. It's very exciting to think about.

Rachel: Yeah. I had been thinking of cultural movements, but you're right, there's a lot of API work that would make this incredibly powerful.

Michael: I think about that idea of having to open two or three different applications. Even as a programmer I have to do that, CP files to my laptop, open up Excel, generate a chart. That's something AI should be able to do really easily, directly with one command. Especially if someone trains if beforehand, and I can imagine the same thing with accountants, with lawyers, with restocking a store with whatever it is that we could get a lot more leverage there.

Rachel: Yeah. It's another one where we're using computers but we still have paper manifests in our heads and we're treating the computers as if they were made of paper.

Michael: Indeed. Yeah.

Rachel: Bit of a stretched metaphor, but you know me. Speaking of stretched metaphors, we're called Generationship because we're talking about generative AI but also because we're on a journey together into an unknown future. If you had a colony ship on its way to Proxima Centauri, what would you call it?

Michael: Good question. I think Hope.

Rachel: Yeah. That's what we're all looking for. Mike, it's been a delight to have you on the show. Thank you for your patience with Wiley the guide dog and with my questions. Good luck with Command Line.

Michael: Thanks so much, Rachel. I really appreciated being here.