Live data from Hacker News

Exa, a modern replacement for ls

the.exa.website

201–210 of 420 posts

Re: Exa, a modern replacement for ls

#202
post #178

Wow, the comments in this thread are quite harsh. Even though I might not use it, this looks like an awesome project - kudos to the author for finding (& implementing) ways to improve something as mundane as ls. I've long been stuck on finding a suitable (perfect?) project idea to play with Rust but exa is making me think through again! Thanks for sharing this and also for your screencasts. I'd definitely spend a laz…

Writing `ls` is the first thing I do when learning a new language.

Thanks for the kind words, everybody.

exa was my first Rust project and it just grew and grew.

Re: Exa, a modern replacement for ls

#203
post #19

exa is hard to type, bad choice of name for something I'd be typing many times a day

Well it's too late to change now! It's one-handed, even on Dvorak, which is a bit annoying.

I don't think it's too much of an ask for people to define their own aliases for it, though. The overlap between people who install custom command-line tools and people who know how to edit their shell config can't be small.

Re: Exa, a modern replacement for ls

#204
post #186

I find quite funny that the author is so convinced that the use of colors is the "right default". 1) I'm colorblind so my view of colors is different from yours. 2) I find that any tool which use many colors suck: there will be a color combination which will be hard to read (for example git log: the sha1 keys are dark red on black, unreadable) but using just a few color is very nice (git diff: 3 colors, one for +, on…

My trouble is that most terminals have color settings such that colored text is not very visible. I really wish I could have a large number of different-colored terminals for different tasks, and that is easy if I turn off color, as designing a whole color set that always works is a bigger job. What's funny is that colored interfaces worked just fine on IBM 3270 terminals in the 1980s, as they did on PCs. I can't und…

256 colors is already the default in all modern Terminals, and 24-bit colour is configurable in most...

If your machine uses termcap/terminfo, type this to see how many yours supports.

  tput colors

Re: Exa, a modern replacement for ls

#205
post #178

Earlier quoted context omitted.

Writing `ls` is the first thing I do when learning a new language.

Hah, interesting! Mine is writing a simple web server (sockets, IO, string handling) and an ultra-simple command line browser (args handling, 3rd party libs for URLs, HTML parsing, etc.)

mine is doing everything in hackerrank in the new language

Re: Exa, a modern replacement for ls

#207
post #37

Earlier quoted context omitted.

> I almost never use the human-readable file sizes. Same here. I love the idea, and i keep trying to use human-readable sizes in every command which supports them. But it turns out they're much less scannable than numbers in a common unit. How long does it take you to see which of these files is biggest: 13k potatoes.txt 7M tomatoes.txt 128 recipe_ideas.txt 1G hot_sauce_formula.txt How about now: 13093 potatoes.txt 7…

Interesting point. Maybe we could have our cake and eat it too: .. 13k potatoes.txt .... 7M tomatoes.txt 128 recipe_ideas.txt ........ 1G hot_sauce_formula.txt

I'm disgusted, yet intrigued.

Re: Exa, a modern replacement for ls

#208
post #164
post #103

Earlier quoted context omitted.

Rust links all its runtime statically by default. Your /bin/ls is probably dynamically linked to libc and a few others. That being said that the argument of size is a bit silly to begin with, especially for a 3MB binary.

> That being said that the argument of size is a bit silly to begin with, especially for a 3MB binary. For a single app, sure it's no problem, but what about when the thousands of other programs in bin introduce similar levels of bloat? Another one is ripgrep, weighing in at 5MB compared to greps 204kb. And this is just for fairly simple command line tools, Imagine what life will be like when we have UI toolkits like…

> Another one is ripgrep, weighing in at 5MB compared to greps 204kb.

Did you strip both binaries? If I strip rg after compiling it, it shrinks to 2.7MB on Linux. If I strip the distributed binary on Github (which is statically linked with musl), then it shrinks to 2.4MB.

> Imagine what life will be like when we have UI toolkits like QT statically compiled into everything

I imagine Qt will be dynamically linked, so I'm not sure why you'd say that.

Of course, if you want to statically link something like Qt because it makes distribution easier for $reasons, then that's a different story. But that has nothing to do with Rust.

Re: Exa, a modern replacement for ls

#209
I love it, but it's also kinda angry fruit salad.

Colors are good...too many colors is overwhelming. It might be that I'd come to recognize what the colors mean if I work with it every day, in the same way that I begin to recognize the flow of a program and when a color is "wrong" after using the same syntax highlighting in an editor for a long time. But, I couldn't tell you what any of the colors mean in my favorite editors.

It's more about recognizing when something has the wrong color compared to everything else with that "shape". e.g. a good example is that in shell scripts, I often put space between the var name, '=', and the value. That's not an assignment and can lead to subtle bugs (shellcheck will catch it, too, but I see it clearly in the editor because it doesn't highlight as a variable declaration).

So, what I'm getting at is that I'm pretty sure I'll always have to read the actual text to make any sense out of this output; the huge number of colors may just hinder readability. I don't know this for sure, but it's pretty jarring to look at even with a nice muted color scheme. I love colors in terminals, though, so I'll give it a go.

Re: Exa, a modern replacement for ls

#210
post #37

Earlier quoted context omitted.

I almost never use the human-readable file sizes. For this to get any traction it is going to need to accept every argument ls does and play nicely. Most people who work with nix systems work on many systems and some of them don't control the software loaded on them. If I have to remember that on this* system I have to use these arguments because I have exa, vs this system I have normal ls that is going to be a deal…

> I almost never use the human-readable file sizes. Same here. I love the idea, and i keep trying to use human-readable sizes in every command which supports them. But it turns out they're much less scannable than numbers in a common unit. How long does it take you to see which of these files is biggest: 13k potatoes.txt 7M tomatoes.txt 128 recipe_ideas.txt 1G hot_sauce_formula.txt How about now: 13093 potatoes.txt 7…

If you want to see the largest file, wouldn't you want to sort it by size anyway?
Post reply on HN