Live data from Hacker News

Exa, a modern replacement for ls

the.exa.website

151–160 of 420 posts

Re: Exa, a modern replacement for ls

#151
post #125

It is great to scratch an itch and make something behave exactly as you want it to be - kudos. That said, this is very much not for me. Default-colorized is something I emphatically do not want; defaulting to relative units, ditto. It it were me, the first thing I would do is get rid of 'grid' display entirely - reading across just doesn't work for me. Etc. More prosaically, `ls` is sort of like breathing for me - I…

That muscle memory must have taken quite some time to develop. Here's to a future where the legions of programmers coming down the pike don't have to spend that investment to get the same or better result.

Re: Exa, a modern replacement for ls

#153
post #116

Earlier quoted context omitted.

The more design elements you add - colors, type, graphics etc - the more distracting the design get and the more conflict there is between the design elements. By colorizing everything here, nothing is important anymore. It's just poor usability and design.

(author here) You know what's funny? Every time I have to use ls, I'm so used to seeing the colours that I have so much trouble finding anything. Which column in the permissions is group-read? I can just scan for the green one. Which file in the listing am I supposed to be looking at? I just look for the one with the yellow underline. Colours have familiarity to me in a way that letters and words do not -- if I expec…

I feel your way too. Colours can add valuable information when done right.

Don't feel too let down by the comments on HN. Awesome work!

Re: Exa, a modern replacement for ls

#154
post #68

Earlier quoted context omitted.

I agree. Relativity is important - uniform units.

You would never say that you are 0.0018 kilometers tall. Using sane unit sizes is important. If two files are orders of magnitude different in size, it's easy to tell that just by the units. As opposing to counting the number of digits, which is tedious and error prone. If they are similar, then it's easy enough to tell that also. E.g. 1 GB vs 995 MB.

Well, right, 180cm would be a customary way to show that (probably wouldn't be shot for saying 1.8m either). And 32GB for an SD card, or whatever.

But then you run into the case that the "32GB" SD image that you just dd'd won't copy to another card of the same nominal size, because it turns out that the destination card has reduced capacity due to 100KB of bad sectors, or something. Or your file went from 2100 bytes to 2081 bytes because your editor dropped all the \r characters. Or a network transfer ended a bit prematurely, chopping off the end of a file.

I'd consider these to be reasonable cases where the byte-exact filesize might be more useful than the readability-friendly version of the number.

On the other hand, yeah, there are a lot of cases where I just need a general idea of the filesize. "-h" display is wonderful for that.

Re: Exa, a modern replacement for ls

#155
post #125

It is great to scratch an itch and make something behave exactly as you want it to be - kudos. That said, this is very much not for me. Default-colorized is something I emphatically do not want; defaulting to relative units, ditto. It it were me, the first thing I would do is get rid of 'grid' display entirely - reading across just doesn't work for me. Etc. More prosaically, `ls` is sort of like breathing for me - I…

Thanks for the kudos! It's absolutely mindboggling how many times I've decided to deviate from one of ls's default settings -- certain that the old way was inferior and outdated, and that the new way will be obvious and immensely popular -- only to find people have no idea why I'm doing things this way! I need the colours to help me scan the output; if I don't see human-readable units, I curse myself for forgetting the flag. But thousands of people don't like this, and it's usually a different set of features with each person, too. I would never have guessed I was so 'out there'!

ls is one of the most entrenched pieces of software there is; this is freeing, in a way, because it provides a stable base for people to rely on, leaving exa free to experiment. Everyone who values stability and simplicity most of all won't be switching from ls any time soon, which means I can push exa more in the direction I want it to go.

(Fun facts: very early releases of exa didn't have a grid mode at all, just the long mode, because that was the only one I used. So there have been some concessions to popularity :)

Re: Exa, a modern replacement for ls

#156

It feels like swiss army knife of 'ls' that tries to do everything in one, and I hope more features are added, such as showing directory size, which would be a killer feature. I hate using 'du' or 'ncdu'. I installed in Ubuntu (and WSL) by downloading the zip file and also 1 dependency by `sudo apt-get install libgit2-24' Edit: It's also fast, and I'm beginning to think Rust is really good for making speedy commandli…

> such as showing directory size, which would be a killer feature.

'ls' (and 'exa') is nice because it's pretty fast. If I'm going to use 'du', I'm wading in with the assumption that it'll take a while. It'd be a cool option to add, but I don't think it should do it by default.

Re: Exa, a modern replacement for ls

#157
post #14

This is really cool - bringing the great treatment of `ack` to ls. And can confirm how fast it is! The unix philosophy is a great idea, but it doesn't really lead to a good experience. Glad people are making more integrated tools! Oh, and It's in homebrew already: `brew install exa`

When I release a new version of exa, I upload the code and binaries to GitHub, and then someone else whom I have never met but very much appreciate takes it and publishes it to Homebrew, then a few days later I download and start using it.

It's the slowest file copy mechanism I've ever used!

Re: Exa, a modern replacement for ls

#158
post #19

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

I usually alias 'ls' to 'l' anyway, so it would not be a big deal to alias 'exa' to 'l'. I agree that exa is not exactly memorable.

Just think "examine" rather than "list" and you'll be fine.

But yeah, alias ls=exa also works.

Re: Exa, a modern replacement for ls

#159
post #22

The main problem I can think of is that I'm so used to type cd and then ls... But OTOH it's as simple to fix as alias ls=exa EDIT: "exa prints human-readable file sizes by default (when would you not want that?)" I actually use bytes a lot for certain progress calculations. Also I get an error "exa: error while loading shared libraries: libhttp_parser.so.2.1: cannot open shared object file: No such file or directory"…

> The main problem I can think of is that I'm so used to type cd and then ls... But OTOH it's as simple to fix as alias ls=exa Are you really sure you want to replace ls with exa? I can think of a dozen reasons it could cause trouble.

I've been aliasing "l" and "ls" to "exa" for years now. Aliases in your shell won't cause any problems, because any scripts you run won't follow the aliases and will just use ls normally.

Actually replacing the binary? That would cause so many problems!

Post reply on HN