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
I just watched this: (tldr: remove bad choices so you don’t need to use willpower) It got me thinking about ways to incre...
New
AstonJ
Which apps do you think are killing it right now? Either from a technical perspective or ones that you like personally or feel have been...
New
AstonJ
Always interested in seeing what apps people use and how they organise their phones/home screens! Here’s mine…
New
jss
What do people think about Data-Oriented Programming, like this book tackles? https://www.manning.com/books/data-oriented-programming Ho...
New
DevotionGeo
The Odin programming language is designed with the intent of creating an alternative to C with the following goals: simplicity high per...
New
AstonJ
Continuing the discussion from Thinking about learning Crystal, let’s discuss - I was wondering which languages don’t GC - maybe we can c...
New
OvermindDL1
What shell(s) do you use, why do you use them, and how do you have them configured? Note, this is about shell’s, not terminals, terminal...
New
dwaynebradley
In their weekly newsletter, Jared Santo from the Changelog shared this blog post by Mark Ericksen over at fly.io: What is really inter...
New
ohm
I just switched jobs to tech lead with a small team of about 6 other developer. This is my first tech lead job. What do I need to know? A...
New
New

Other popular topics Top

Devtalk
Hello Devtalk World! Please let us know a little about who you are and where you’re from :nerd_face:
New
AstonJ
If it’s a mechanical keyboard, which switches do you have? Would you recommend it? Why? What will your next keyboard be? Pics always w...
New
AstonJ
I ended up cancelling my Moonlander order as I think it’s just going to be a bit too bulky for me. I think the Planck and the Preonic (o...
New
PragmaticBookshelf
Author Spotlight Jamis Buck @jamis This month, we have the pleasure of spotlighting author Jamis Buck, who has written Mazes for Prog...
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
PragmaticBookshelf
Author Spotlight: Karl Stolley @karlstolley Logic! Rhetoric! Prag! Wow, what a combination. In this spotlight, we sit down with Karl ...
New
PragmaticBookshelf
Author Spotlight: Peter Ullrich @PJUllrich Data is at the core of every business, but it is useless if nobody can access and analyze ...
New
PragmaticBookshelf
Develop, deploy, and debug BEAM applications using BEAMOps: a new paradigm that focuses on scalability, fault tolerance, and owning each ...
New
AstonJ
If you’re getting errors like this: psql: error: connection to server on socket “/tmp/.s.PGSQL.5432” failed: No such file or directory ...
New
AstonJ
Curious what kind of results others are getting, I think actually prefer the 7B model to the 32B model, not only is it faster but the qua...
New