HNHacker News
TopNewBestAskShowJobs

michlim

98 karma · joined March 14, 2021

Rust engineer at warp.dev (Rust-based, modern terminal for developers)
submissionscomments
michlim··on Warp, the modern terminal, is now available for Linux
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)

michlim··on Warp, the modern terminal, is now available for Linux
It's opt-out. Users can opt out before sign up or after sign up.
michlim··on Warp, the modern terminal, is now available for Linux
Mich from Warp here. Telemetry is completely optional in Warp.
michlim··on Bystander ignored dying Cash App founder Bob Lee as he begged for help
This is really sad. I found comfort walking in public because I assumed if I’m stabbed/mugged, people will help me. I’m wrong.
michlim··on General Catalyst prefunds companies’ sales budget in exchange for customer value
> 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.

michlim··on I Spent a Week on a 10-Line Code Change
tldr; My teammate solved a bug by finding a detailed commit message in Chromium’s repo. High-quality git commits are an underrated form of documentation.
michlim··on “People used to take me seriously. Then I became a software vendor“
I like the concrete advice here on how to navigate distrust:

1. Lead with your bias. 2. Avoid cheap shots. 3. Be your own biggest critic. 4. You can still talk shit about software, just not your competitors‘ software. 5. Be generous with your expertise.

michlim··on Tell HN: I stopped caring about personal development in tech after seeing GPT-4
I agree with this take. Moreover, it takes a seasoned software architect to verify that the code generated is correct, clean, and idiomatic. Someone still needs to shepherd the machine.
michlim··on Open Sourcing Cody – Sourcegraph's AI-enabled editor assistant
> 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.

michlim··on Open Sourcing Cody – Sourcegraph's AI-enabled editor assistant
This is probably one of the most sincere and personal product announcements from a corporation I’ve read.
michlim··on Show HN: Warp, a Rust-based terminal
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.

michlim··on Show HN: Warp, a Rust-based terminal
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.

michlim··on Show HN: Warp, a Rust-based terminal
We potentially could remove the telemetry sooner, before the general availability. There is no set timeline yet, but we will announce it when we do!
michlim··on Show HN: Warp, a Rust-based terminal
No, we do not track console input or output. Just metadata like: "block copied", "block selected", "bootstrapping failed".

For an exhaustive list of events and metadata we collect, see: https://docs.warp.dev/getting-started/privacy#exhaustive-tel...

michlim··on Show HN: Warp, a Rust-based terminal
Warp engineer here: Our business model is to make the terminal so useful for individuals that their companies will want to pay for the team features.
michlim··on Show HN: Warp, a Rust-based terminal
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

michlim··on Show HN: Warp, a Rust-based terminal
Thank you :) We are looking forward to build that.

Rust has pretty extensive platform support, which makes it relatively simple for us to do that.

michlim··on Show HN: Warp, a Rust-based terminal
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.

michlim··on Show HN: Warp, a Rust-based terminal
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.

michlim··on Show HN: Warp, a Rust-based 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.

michlim··on Show HN: Warp, a Rust-based terminal
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.

michlim··on Show HN: Warp, a Rust-based terminal
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

michlim··on Show HN: Warp, a Rust-based terminal
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.

michlim··on A brief reflection on Mac software stagnation
Thanks for mentioning us!

We believe implementing platform-specific APIs for each platform, e.g. Objective-C APIs for Mac leads to a better user experience but it is much more challenging to maintain. We're currently building a cross-platform UI framework with that philosophy. Hopefully it will make Mac development easier. Learn more here [1]

[1] https://blog.warp.dev/how-warp-works/

michlim··on Command palettes: how typing commands became the norm again
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.

michlim··on Command palettes: how typing commands became the norm again
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

michlim··on Stacked changes: how FB and Google engineers stay unblocked and ship faster
congrats on the launch! love the ui on the dashboard!