HN user

michlim

98 karma

Rust engineer at warp.dev (Rust-based, modern terminal for developers)

Posts18
Comments27
View on HN
www.figma.com 2y ago

We built a custom permissions DSL at Figma

michlim
2pts0
michellelim.dev 3y ago

We built Time-Tracking for a Rust app

michlim
2pts0
blog.mastykarz.nl 3y ago

Create scripts in JavaScript using Google zx

michlim
1pts0
nypost.com 3y ago

Bystander ignored dying Cash App founder Bob Lee as he begged for help

michlim
2pts3
techcrunch.com 3y ago

Twitter’s new dog icon is sending dogecoin – sigh – to the moon

michlim
14pts6
www.generalcatalyst.com 3y ago

General Catalyst prefunds companies’ sales budget in exchange for customer value

michlim
1pts1
www.warp.dev 3y ago

I Spent a Week on a 10-Line Code Change

michlim
6pts2
charity.wtf 3y ago

“People used to take me seriously. Then I became a software vendor“

michlim
1pts2
about.sourcegraph.com 3y ago

Open Sourcing Cody – Sourcegraph's AI-enabled editor assistant

michlim
105pts33
www.michellelim.org 3y ago

My journey from engineer to Growth Lead at a startup

michlim
3pts0
www.dockhunt.com 3y ago

Dockhunt: Share your macOS dock and see who else has docked the apps you use

michlim
1pts1
devd.me 4y ago

Early Security for Startups

michlim
2pts0
blog.warp.dev 4y ago

Using tree data structures to build split panes–more fun than it sounds

michlim
4pts0
old.reddit.com 4y ago

AMA: We built Warp, a Rust-based terminal

michlim
5pts0
www.raycast.com 4y ago

Raycast announces Series A and launches Store and API

michlim
1pts1
github.com 4y ago

Script Commands in Raycast

michlim
1pts0
www.notion.so 4y ago

Content Marketing for Founding Teams

michlim
1pts0
rustacean-station.org 4y ago

Podcast with CEO of Warp–Rust-based terminal: Rustacean station

michlim
3pts0

Here's the 2min tldr:

Warp is a fast, Rust-based terminal. Key features include: 1. Modern editor that lets you edit input like an IDE 2. Input and output are grouped in blocks for easier navigation 3. Integrated AI for command suggestions, debugging, and chat 4. "Warp Drive" to save parameterized commands as reusable workflows (like aliases but easier to use and more powerful)

With this strategy, GC pre-funds a company’s S&M budget. In return, GC is entitled only to the customer value created by that spend, and GC’s entitlement is capped at a fixed amount. After GC reaches that fixed amount, the remaining lifetime value of the customers is the company’s to keep forever.

Good to see more ways of growing without giving up equity.

There's actually a growing body of evidence that shows the emergent ability of LLMs to reason (the so-called "chain of thought" ability) arises only when LLMs are trained on huge amounts of code, not just natural language. Natural language training data provides the ability to sound human, but it is the programming language training data that provides LLMs with the ability to be logical.

Good on Sourcegraph to contribute back to the open source community. LLMs rely more on open source code than meets the eye.

Warp engineer here. Thank you for the kind words.

We do want to support linux once we get the product experience right. We decided to build in Rust and set up a UI framework because we wanted to make it easier for us to port to Linux.

For now, every platform we support entails additional engineering overhead that takes away from getting to product-market fit. Once there, we will invest resources into supporting Linux, Windows, and the Web.

Warp engineer here. Really appreciate your ideas here!

Warp's more visual completion is super welcome. Does it work with the shell's standard completion scripts?

It does not. But we have completions out of the box for 200 commands.

Warp's input is a text editor instead of the shell input. This means we ended up building completions by hand and soon, via the community. We think this is a better experience because we can provide more in-line documentation.

Warp's blocks look like a nice step in the right direction. How do they work?

tldr; shell hooks

Most shells provide hooks for before the prompt is rendered (zsh calls this precmd) and before a command is executed (preexec). Using these hooks, we send a custom Device Control String (DCS) from the running session to Warp. Our DCS contains an encoded JSON string that includes metadata about the session that we want to render. Within Warp we can parse the DCS, deserialize the JSON, and create a new block within our data model.

Re: impersonation: that's a good concern we will consider.

It'd be interesting to further extend blocks with some protocol that allows programs to output within their block using richer elements.

Absolutely! This is definitely in the roadmap. We want rich output like adjustable tables and images. We also want to support a protocol so other CLI programs can use it.

Likewise, when launching alternate-screen terminal stuff, to allow them to do more with the rectangle than a grid of text.

Yes we are thinking of supporting blocks within tmux, for example.

And at first glance, looks like it's missing tmux-like features (whether integration with tmux proper like iTerm has or its own thing).

Yes, other than split panes, we do not have tmux-like features. We've begun mocking out what those features could look like. We are thinking of a native window management solution and a native way of saving workspace/session templates.

We are also thinking of what a deeper integration with Tmux might look like.

Cool.

Actually the telemetry has nothing to do with our monetization.

Enterprise is right. We are monetizing through team and enterprise features. We are planning to build among others:

- Sharing hard-to-remember workflows within your team

- Wikis and READMEs that run directly in the terminal

- Session sharing for joint debugging

Warp engineer here.

FWIW, the Warp terminal will be free for individuals. We would never charge for anything a terminal currently does. So no paywalls around SSH or anything like that. The types of features we could eventually charge for are team features.

Our bet is that the moat is going to be the team features, like:

- Sharing hard-to-remember workflows

- Wikis and READMEs that run directly in the terminal

- Session sharing for joint debugging

Our bet is their companies are willing to pay for these. BTW, even these team features will likely be free up to some level of usage and only charged in a company context.

Warp engineer here.

The terminal is totally free for individuals. Our business model is to make the terminal so useful for individuals that their companies will want to pay for the team features.

We will not degrade your experience: we would never charge for anything a terminal currently does. No paywalls around SSH or features that don't cost us money. We will never sell your data. We treat privacy seriously at Warp: check out www.warp.dev/privacy for more information.

We are planning to open-source parts and potentially all of the terminal.

Yeah it might seem like a crazy amount.

Building a terminal is hard. We have to build feature parity, maintain a stable terminal-shell interface, on top of modernizing the product experience. The money allows us to hire engineers to work on this project full-time and create a great product experience.

Warp engineer here. Warp is actually free for individuals.

Our business model is to make the terminal so useful for individuals that their companies will want to pay for the team features. Even those will likely be free up to some level of usage and only charged in a company context.

Warp engineer here.

Here are some differentiated features:

- Blocks: we group commands and outputs together so it is easier to navigate through the terminal, and perform actions on the outputs [0]

- A text editor for the input: selections, cursor positioning, multiple cursors [1]

- Workflows which allows you to save and share hard-to-remember commands [2]

The projects you mentioned are great. They do involve some amount of configuration. We have those out of the box so they are more easily accessible to developers.

[0]https://docs.warp.dev/features/blocks

[1]https://docs.warp.dev/features/the-input-editor

[2]https://docs.warp.dev/features/workflows

Warp engineer here. I understand your concern.

We will remove telemetry when we enter general availability. It will be opt-in and anonymous.

We really want to improve the product quickly during this beta phase. Collecting data makes it much easier to reach out and get feedback when something goes wrong. But we only track metadata, never console output. For an exhaustive list of events that we track, see here: https://docs.warp.dev/getting-started/privacy#exhaustive-tel....

We are going to open source parts and potentially all of the terminal. We want to allow folks to audit our code and tweak Warp.

Perhaps it is a learning curve problem? In a world where user manuals and UIs are friendlier than man pages, the increase in "smartphone tap-only users" will definitely be faster than the increase in "vim/terminal ubergeeks."

This is sad because terminals are powerful tools that are fast, composable, and programmable.

What we need is for terminals to provide easier hooks to help people become "vim/terminal ubergeeks". Use a command repeatedly? Help the user set up their first alias. Need to use an advanced sed command? Help the user form their first sed and then slowly take off the training wheels. Programmers really do want to learn to become power users. Terminal UI needs to evolve to help them.

Hi! Michelle, an engineer from Warp here. Thanks for mentioning us. We've been building a Rust-based terminal.

Currently, we're currently building a feature called "Tasks Not Commands".that allows users to interact with the terminal via a task instead of an obtuse command or series of commands. See the mock here [1]. For example, be able to type "undo last git commit" instead of needing to memorize `git reset --hard SOFT`. We envision users being able to create and share their own custom tasks as well. What do you think? Join our discord to stay updated. [2]

[1] https://assets-global.website-files.com/60352b1db5736ada4741... [2] https://www.warp.dev/discord