HN user

syene

26 karma
Posts2
Comments34
View on HN

the shell is easier to script than writing Lisp

My points were, first, Dired is easier than the shell for 99% of file management, as it’s a graphical file manager with many advanced functions. It’s literally a graphical ‘ls -l’ that that you can freely move around, browse and act on; the same way vi was a graphical ed. And, second,

it will never be as flexible for file operations as just using the shell

for the remaining 1% where the shell would be easier than a Dired built-in, I’d rather do them from Dired, because, being a graphical program, I have a dynamic directory listing that I can peruse as I please. And the shell is the shell, whether you open a command-line in your terminal emulator or run shell commands from Dired.

Maybe the shell’s primitives are too abstract and I prefer them abstracted behind Dired. Emacs Lisp has primitive functions, too, it’s just the higher-level functions are useful most of the time.

Knuth created a sophisticated program to count words, which McIlroy replicated in a one-line shell script using a few UNIX tools.

Yes, now let’s see McIlroy publish the C source of the Unix built-ins he used to be fair to Knuth in that comparison, who provided the whole source of his implementation.

Composibility was an afterthought when making C, and that’s what Unix inherits; redirecting text with pipes between different programs will never be as simple and elegant as an interface that was made for composibility and extension, from the programming language up—Lisp Machines. I have scarcely found shell one-liners to be elegant in the sense they make sense at first glance—granted I’m a user, not a programmer. Lisp functions—functional programming—on the other hand, when used together, have an intuitive flow, especially in how they modify input, that’s easy to wrap my head around.

But the word runs on Unix shell, much, much more so than a functional-programming-language REPLs—“worse is better” like you said earlier.

I don't think any tech geek or programmer would prefer writing a program for such relatively simple tasks.

Writing little Emacs Lisp functions—combining more abstract built-in Emacs Lisp functions—feels a lot like chaining shell command together, but better.

If you prefer the command-line and Unix shell, that’s one thing, but it’s no more “flexible or scriptable” than Emacs and Lisp.

Dired can filter files with regexp; you can even fall back on GNU ‘find’ (‘find-dired’). And you can execute shell commands on filtered files in Dired (‘&’), it’s like xargs without the confusing syntax—but, of course, you can just run ‘xargs’ from it, if that’s what you prefer.

A graphical file-manager is, I find, a much nicer interface for file-management than the command-line. I see all filtered files, and I can view and edit them anytime, as I please. With the command-line, it’s like I’m working with blindfolds on.

Dired can be a nice refuge even if you’re a command-line junkie, because in-spite of its own commands (abstracting the shell), you can always drop back to the shell, as you please. Funnily enough, my usage of Dired vis-à-vis the shell is kind of the inverse of what you described, I use the shell for either quick or really complicated operations and Dired for everything else—which ends up being over 95% of my use.

It’s unnatural to put the flags after the command. But sometimes I remember I’ve to use a flag after I’ve entered the input; other times, I notice a flag’s omission after executing it, and Control + P puts my cursor at the end, after the input.

… getting users hooked on to the extra features and switching to some propreitary backend …

If they do, they’ll have to bridge it to Matrix. The entire point of a Matrix messenger is being able to message Matrix; no matter how slick the GIFs or the local AI-models are—people won’t use a Matrix messenger that can’t message Matrix.

I just liked the definition of DWIM in that article. I don’t think DWIM operates in Emacs Lisp the way it did in Interlisp, and zygospore’s not exactly a good example, but I’ve come across ‘-dwim’ versions of commands that combine the functionality of multiple ones and try to deduce which particular functionality you wanted from the surrounding context—it’s nice.

… c-u c-x 1 would be consistent.

It seems like a Vim or a Kakoune thing to get stuck up attaching strict logic to the “command language”. Lisps have a concept of do-what-I-mean (DWIM)—the computer anticipates what the user intends to do, overlooking trivial errors.† There’s some subjectivity involved in making commands do-what-[you]-mean, but what’s the point of ‘C-x 1’-ing after we’ve just ‘C-x 1’-ed anyway? None. So why not make that into a convenient way to undo the previous ‘C-x 1’?

The ‘undo’ command only acts on changes in buffers, and there’s always winner-mode and its undo, but as a zygospore user—it seems very natural from the get go. I repeat the ‘C-x 1’ if I press it accidentally, and more often I find myself temporarily magnifying a buffer to take up the whole screen to do some focussed editing, which I can come out of with another ‘C-x 1’ (as long as I don’t change the window configuration further).

†: from https://en.wikipedia.org/wiki/DWIM

Thanks! I’ll check it out along with what the original commenter guessed the book was. At worst, Little Brother will have similar themes.

iPhone and iPads are marketed as general computing devices and are used by people as general computing devices. Being able to run whatever software you want is a cornerstone of computers that some computer companies have tried to prohibit for their own profit margins, and branded it as a security feature. The industry hasn’t been able to right this in over a decade, so I support governments intervening.

Only9Fans 2 years ago

Go was born to replace C/POSIX → by ignoring everything that happened in the computer science community since [its] heyday

Only9Fans 2 years ago

I think that expression was that poster’s way of asking what are Acme’s unique but _useful_ features.

It seems to me that they’re criticising the AI-generated covers on the principle that all AI-art is terrible for human artists and human-art; and it shouldn’t have a place in the world. A simple aesthetic dislike wouldn’t warrant an article, let alone one filled with comparisions to previous album covers people drew, the effort human art takes, et cetera.