michlim
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)
We built Time-Tracking for a Rust app
Figma Is Down
Create scripts in JavaScript using Google zx
Bystander ignored dying Cash App founder Bob Lee as he begged for help
Twitter’s new dog icon is sending dogecoin – sigh – to the moon
Good to see more ways of growing without giving up equity.
General Catalyst prefunds companies’ sales budget in exchange for customer value
I Spent a Week on a 10-Line Code Change
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.
“People used to take me seriously. Then I became a software vendor“
Good on Sourcegraph to contribute back to the open source community. LLMs rely more on open source code than meets the eye.
Open Sourcing Cody – Sourcegraph's AI-enabled editor assistant
My journey from engineer to Growth Lead at a startup
Dockhunt: Share your macOS dock and see who else has docked the apps you use
Early Security for Startups
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'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.
For an exhaustive list of events and metadata we collect, see: https://docs.warp.dev/getting-started/privacy#exhaustive-tel...
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
Rust has pretty extensive platform support, which makes it relatively simple for us to do that.