5 ms·
I wish the authors thought a little bit more about the actual physicality of typing out commands. `exa` on a QWERTY keyboard is typed on one hand, across three
by bikeshaving 5y ago
I wish the authors thought a little bit more about the actual physicality of typing out commands. `exa` on a QWERTY keyboard is typed on one hand, across three rows, and with the weakest fingers. I guess I could put this into muscle memory, but I expect an `ls` like command to be ergonomic to some degree and I see myself making a lot of typos.
- dopu 5y agoI guess. Nothing’s stopping you from remapping ‘ls’ to exa. That’s what I did.
- 5- 5y agosee also: https://github.com/mtoyoda/sl https://github.com/mtoyoda/sl (available packaged in most linux/bsd distributions)
- kingaillas 5y agoYou better not switch your keyboard layout to dvorak... 'ls' are both right pinky letters. ;)
- cb321 5y agoI put some thought into that naming https://github.com/c-blake/lc https://github.com/c-blake/lc which I think is basically uniformly more capable than exa.
- dTal 5y agoThis is a basic flaw in the design of unix. The user interface is coupled to the implementation. To accomplish a task, you don't describe the task - you write the name of a program that executes that task. Once a program is named, no other program can be named that ever again. Imagine if programming languages worked that way.
- wruza 5y agoI don’t understand the programming languages analogy, can you elaborate? One way to interpret that is “s/program/function, class or module/g“, but that sounds strange to me.
- dTal 5y agoThat was indeed the thrust of the analogy. Basically, we try to design programming languages so that the interface is decoupled from the implementation. A function should have an intuitive, descriptive name that reflects what it achieves, free of such terrestrial concerns as who wrote it, and when, and whether a different person decided to fix a bunch of bugs in it. But commands in Unix exist in a single-layer, permanently immutable namespace. Someone wrote the canonical 'top' once upon a time and now all evolutions on the concept must use names like "htop" and "vtop" and "gtop" and "ptop". By 2121 we'll have exhausted that namespace too, and be on to "aatop", "abtop" etc. Good interface design is stable, even as the backend tech improves. Both a go-kart and the NASA crawler-transporter have steering wheels, because the wheel is an affordance for the human, not the machine. But on a Unix system, there's huge churn in how to do things - usually for no better reason than that it would break a bunch of stuff to change how the old way works, so better to simply add a new way. Someone wrote an improved version of grep - does that mean we get grep v2? Nope, we get "ripgrep", and old grep stays permanently... The worst of it is, that namespace doesn't even guarantee anything! It would at least be some consolation if 'ls' worked identically on every system, but alas...
- mixmastamyk 5y agoInteresting but there's no alternative presented. Any large software project typically has a fixed api that can't be drastically changed due to backward compatibility. No reason to tie it to Unix either, other than it being ubiquitous.