| |
| ▲ | TomaszZielinski 14 hours ago | parent | next [-] | | I click one icon, then another. It takes say 2s. Typing two letters and pressing enter would take 10x faster, so 0.2s. Given that I delegated work to AI agents, that’s 1.8s less of waiting :)) | |
| ▲ | pdntspa 11 hours ago | parent | prev [-] | | As a fellow dev, command line shit is a pain in the ass sometimes. I grew up as a Windows kid, visual browsing for stuff is sometimes the only way to fly. I absolutely loathe the amount of brute-force memorization that is required to operate a command-line efficiently. It took YEARS to memorize simple linux shit Everyone talks about how CLI is supposedly way more efficient. It is way more efficient to THEM. And now we are stuck in a hell where a good deal of functionality is only accessible if you want and are able to memorize the arcane nonsense that are command names, or the design-by-committee naming choices of moronic PMs who can't stop lapping up whatever bullshit marketing tells them to | | |
| ▲ | flakes 10 hours ago | parent [-] | | > I absolutely loathe the amount of brute-force memorization that is required to operate a command-line efficiently. It took YEARS to memorize simple linux shit Not to invalidate your experience, but you shouldn’t need to memorize too much to use the common command line tools (although it does always help to have more experience using them). I recommend always keeping a second terminal session open, purely for referencing man pages. You should be able to see most options easily, or be able to grep for the instructions you need. The tight integration between documentation within the CLI, coupled to the exact software version you have installed, helps immensely when invoking CLI tools. For the common linux tooling, found in most distros (e.g. coreutils or common busybox ops) the documentation in man pages is quite excellent. | | |
| ▲ | pdntspa 9 hours ago | parent [-] | | While I think man pages are perfectly fine as documentation, the terminal interface for accessing them is awful (more mysterious keypresses or incantations to memorize if you want to do anything more than scroll), and visually I have always found them very difficult to scan visually, particularly if I wasn't sure of the exact wording for the task I needed, or if I am thinking in a different vocabulary. Plus theres the whole wall-of-text thing that makes me kind of instinctively bounce out. A lot of them also lack sufficient (or any) examples, which are the things I need to see to learn. Making sense of the their sometimes (and seemingly intentionally) obtuse wording when I'm trying to do something I'm not already familiar with makes them a lot harder to parse than they need to be. And many of the commands are extremely arbitrary. `cd` (change directory) very well could have been `mf` (move folder). `del` in DOS is `rm` in Linux. `move` vs `mv`, `copy` vs `cp`, etc etc. There's no common orthodoxy. If you are not well versed in the history of this stuff its all gobbledygook. LLMs have been great in this regard, as they can supply those missing examples and then explain to me exactly what it is doing, oftentimes worded more clearly than the original documentation. And they can help me string together whole sequences. | | |
| ▲ | johnisgood 7 hours ago | parent [-] | | So a TL;DR of your comment is that you just have to learn / memorize to use things. That applies to everything, not just what you are discussing here. If you only use 'cd', 'mv', 'rm', and 'ln', then really, there is not much to learn. Perhaps the '-rf' option to 'rm', which is how you delete directories (that are not empty). You complained about the naming, but 'mv' requires fewer keystrokes than 'move', and once you know that 'mv' = move, 'rm' = remove, and so on, then what is the issue? It makes sense. DOS had just as "arbitrary" names: 'del' instead of 'rm', for example. The UNIX versions are deliberately short for efficiency, and once you learn them, they are universal. Man pages are fine. Just press '/' to search by string or regex, and 'n' for next match. They are also consistent: if you want a particular section, you search for it. But it is important to remember that man pages are reference material, not tutorials. If you want quick examples, try https://tldr.sh, https://cheat.sh, or another alternative. If this is difficult, or you simply do not want to learn it, that is fine: use what works for you. But if you are a programmer, you are going to be learning tools constantly, and the core UNIX utilities are among the simplest. Once learned, they do not change. Personally, I have not had to learn anything new about them since I was 13. I am 31 now. You learn once, and you use forever. That said, there are real examples of arcane tools. 'ffmpeg' and 'rsync' have some of the most obscure command-line options I have ever seen, which is why I keep bash aliases and functions for the things I do often. That is how you make your life easier as a programmer: learn the fundamentals, then abstract the complexity where it makes sense. TL;DR: Learning is not optional. Whether it is GNU/POSIX utilities, GUIs, wizards, or even LLMs, you still have to learn them. Man pages are reference material, not tutorials. Learn the basics once, and you are set for life. | | |
| ▲ | pdntspa 40 minutes ago | parent | next [-] | | I don't think you fully understood my comment. > Man pages are fine. Just press '/' to search by string or regex, and 'n' for next match. They are also consistent: if you want a particular section, you search for it. But it is important to remember that man pages are reference material, not tutorials.
You need to step outside your own shoes and approach these from the perspective of someone who is new. Yes you have to learn things, that is obvious.But not everyone gets the chance to do that before they are dropped in a situation where the knowledge is needed. Up until a few years ago (before LLMs) if that was your case and you didnt know how to articulate what you wanted to google (or a teammate), you were fucked. Like with VI or with emacs. It's sooooooo easy to screw things up in a big way. Better hope you remembered to type shift-colon-Q-exclamation instead of shift-colon-W-Q! Please, tell me how that makes any sense to anyone without a background in *nix stuff. I did not grow up in the environment where the above incantations had any context. It was literally a bunch of gobbledygook that made no sense. Why "write" instead of "save"? Why 'quit' instead of 'exit'? In fact I had VI dropped on me quite suddenly for a job, that was a real trial by fire, and I remember this well. (And yes I can operate VI quite fine now, thank you) | |
| ▲ | skydhash 4 hours ago | parent | prev | next [-] | | > ffmpeg' and 'rsync' have some of the most obscure command-line options I have ever seen, These are power tools, meanings they set out to solve one problem quite extensively. They’re not really meant to use as is (just like git), best is to write some alias or functions as a wrapper (or memorize the set of flags you use most). | | | |
| ▲ | FabHK 3 hours ago | parent | prev [-] | | Incidentally, there's a TL;DR app as an alternative to man [0] that just gives you the most common examples/use cases for any command. Quite useful. [0] `brew install tealdeer`, then invoke with e.g. `tldr chown`. |
|
|
|
|
|