foxtrottwist

foxtrottwist

Warp—The blazingly fast, Rust-based terminal

A few weeks ago I started using Warp a terminal written in rust. Though in it’s current state of development there are a few caveats (tabs can’t be reordered, I am unable to use my beloved starship prompt, etc…) I absolutely love Warp’s out of box features. Among them nice text editing features, completions and a cmd palette.

Most Liked

Maartz

Maartz

Seems to be an all-in solution compared to Launching Fig - #18 by Maartz
@OvermindDL1 still not OSS.
What’s the thing behind these “new and disruptive” terminal tools?

AstonJ

AstonJ

We should do a book-hands-on-rust book club at some point? I got the book already :lol: (Can get you a copy if you like :023:)

Thanks for the early access code! :orange_heart:

For anyone interested here’s the current set of features:

It does look really nice, but my only issue is (as it is with other apps like VSCode) is that they want to connect to their servers:

Apps really only should connect when you specifically ask them to imo. In TextMate for example will only connect if you have set it to check for daily updates or when you specifically click on ‘check for update’.

I think I have trust issues :lol:

OvermindDL1

OvermindDL1

Those are controlled by the shell, not the terminal, if a terminal were to override those then it would break a lot of other inputs. Almost every shell let’s you change those for note, so if you want to, then change it in your shell. ^.^


Warp is… such a very poor name to pick though, there’s already a warp library in rust that is a web server framework. They really should have looked at used names before picking that one…

o.O What the ever-living… Why would a terminal ever need to access sites like that?!?

If I saw that in my logs I’d immediately wonder if it was infected or something!


And yeah, there is no reason, whatsoever, ever, for a terminal not to be open source. Even Microsoft of all places has open sourced their terminal. Terminal’s are such security troublesome points that you really really need to make certain that it’s not something that’s going to be sending what you type to random servers, or really even making network connections on its own at all (that’s the job of the shells or whatever you’re running in it, a terminal is just a renderer and IO pipe)…

And their site forcing some links to open in new windows is extremely user-hostile, why would they do that?!? >.<


Speaking of, their ‘benchmark’ graph has a couple of massive outliers of terminals called hyper and iterm (neither of which I’ve ever heard of? Why were such poor ones picked?), which massively skewed the rest of the results way way down to the bottom so you can’t actually compare it with the one other that I’ve ever heard of, out of the multiple dozens of terminals I use per month that one other that I’d heard of looks like it’s much much faster than warp but hard to tell since they are all squished into such tiny lines because of hyper/iterm. The massively mis-scaled chart makes it look so questionable (like at the very least they should have made it logarithmic if they wanted those massive outliers in, really makes it look like they are trying to hide something)…

Also, there is already a GPU accelerated terminal (in their benchmark even, the only one in it that I’d heard of, and happened to be the one that looked like it was beating it by a healthy percentage), so why didn’t they just base it on that one (especially since its faster), or did they not because then they would be forced to make it open source, lol.

Let’s see, it used the vtebench benchmark, well, just the scrolling one inside of it, none of the other (usually far more performance hitting) ones, wonder why they picked the easiest/cheapest one… Well let’s grab it as I don’t have it on this (very not up to date) system, aaand let’s runs it (I was also compiling a C++ application for the past half hour on the same machine so this probably slowed it down a bit, but even still):
So trying it with konsole and alacritty (alacritty as a base example as they used it as well in their benchmark):


And for comparison, here was their image:

So alacritty here is obviously slower than on their machine, which makes sense because this is not at all a modern machine (quite frankly ancient in many aspects), and in comparison even my most used (lots of features) Konsole terminal is not that much slower, and in their benchmark warp seems to be much much slower than alacritty by a much larger amount. Even in just raw values (not taking into account how much slower this machine very likely is) even Konsole, which is not built for speed but rather features, is substantially faster that most of their tests… o.O And again, why just the scrolling test considering how utterly trivial it is?!?

Still though, the closed source’ness of it with such a hugely hugely security conscious interface makes me quite frankly very itchy… (do you really want a terminal potentially broadcasting what you type out or what is displayed back, whether messages, proprietary code, passwords, PGP keys, etc… etc…, because how do you verify it doesn’t? Why does a terminal emulator even have network functionality at all?!?)

Where Next?

Popular General Dev topics Top

AstonJ
In your opinion which programming languages are simple to use and easy to get started wither those who don’t have a computer science bac...
New
axelson
Can anyone recommend a tmux session switcher? I’ve used https://github.com/siadat/session-finder in the past but it’s not very actively m...
New
AstonJ
Want to plug where you work? Here’s your chance! Perhaps you could also mention what kind of stuff you’re working on? :nerd_face:
New
AstonJ
Thought it might be worth having a dedicated thread for standing desk treadmills (for those interested, here’s our general thread on stan...
New
AstonJ
If you could work on any project, what would it be? :upside_down_face:
New
mjk
TL;DR: words that incorporate negation are acceptable, eg. independent, asymmetric, nondeterministic. An example in the book is to renam...
New
Exadra37
Kubernetes is everywhere. Transactional apps, video streaming services and machine learning workloads are finding a home on this ever-gro...
New
DevotionGeo
I am planning to refresh my Ruby knowledge in a month or two, after using other technologies more frequently for a few years. Luckily I w...
New
ivanhercaz
Hi! I usually keep changelogs for my projects because I think they are really useful, not only to track the changes and not to be lost b...
New
harwind
I’m working on a Spring Boot project and I have a controller where I want to map multiple request paths to a single method. Let’s say I h...
New

Other popular topics Top

AstonJ
A thread that every forum needs! Simply post a link to a track on YouTube (or SoundCloud or Vimeo amongst others!) on a separate line an...
New
AstonJ
What chair do you have while working… and why? Is there a ‘best’ type of chair or working position for developers?
New
AstonJ
This looks like a stunning keycap set :orange_heart: A LEGENDARY KEYBOARD LIVES ON When you bought an Apple Macintosh computer in the e...
New
PragmaticBookshelf
Create efficient, elegant software tests in pytest, Python's most powerful testing framework. Brian Okken @brianokken Edited by Kat...
New
foxtrottwist
A few weeks ago I started using Warp a terminal written in rust. Though in it’s current state of development there are a few caveats (tab...
New
New
husaindevelop
Inside our android webview app, we are trying to paste the copied content from another app eg (notes) using navigator.clipboard.readtext ...
New
First poster: bot
zig/http.zig at 7cf2cbb33ef34c1d211135f56d30fe23b6cacd42 · ziglang/zig. General-purpose programming language and toolchain for maintaini...
New
PragmaticBookshelf
Fight complexity and reclaim the original spirit of agility by learning to simplify how you develop software. The result: a more humane a...
New
PragmaticBookshelf
A concise guide to MySQL 9 database administration, covering fundamental concepts, techniques, and best practices. Neil Smyth MySQL...
New