Live data from Hacker News

Bare Metal (The Emacs Essay)

waxbanks.wordpress.com

81–90 of 125 posts

Re: Bare Metal (The Emacs Essay)

#82

Umm. Is this some sort of troll article? It sucks you in with nerd nostalgia and slowly becomes more and more esoteric and insane. Here’s the final two lines: > We should know better than to prematurely optimize for order when all of all time arrowpoints in and down to the absolute return 0. Words of wisdom, let it be: your world is a fine stream of consciousness, lacking only a decent editor. If that feels like your…

Under Unix the norm is to return 0 if everything it's OK.

Re: Bare Metal (The Emacs Essay)

#83

I've been using emacs for over 20 years and had no idea about `M-x tetris`. Worth reading just for that!

M-x dunnet too.

And,if you are into text adventures, there's M-x dunnet and, also, malyon under MELPA, and you can play some good ones such as the ones from Infocom, or the modern ones made from the community such as Tristam Island, Anchorhead, Spider and Web, Spiritwrak... the IF archive has them all (on Tristam Island, I can send you a better ZMachine V5 version, instead of a shortened V3 one made for the 3rd version of the Z-Machine, the one for small microcomputers such as the C64, MSX, the 8086, the Kaypro with CP/M 2.2...)

And, if you are curious, you can install the inform6 compiler and inform6lib (the English grammar library) and, under Emacs, inform-mode and create your own text adventure in a very easy OOP like language (inform6), much more than Python.

Inform Beginners' Guide: https://inform-fiction.org/manual/IBG.pdf DM4, the low level stuff, raw inform6 without the English library. Advanced stuff: http://inform-fiction.org/manual/download_dm4.html

Creating a text adventure might look silly in these times, but if you pay attention to the article, it's these kind of environments what changed the world back in the day, from MUDs/MOOs to roguelikes (in the case or Rogue, literally). Curses was a library to play Rogue and update the terminal lest often (just send what changed in the screen to the terminal) so the connection wasn't cluttered back in the day with frequent menu displaying where the changes were minimal.

With Inform6 you don't need to be a music composer, a drawing artist or some 3D modeller with tons of linear algebra background. Just write.

And, yes, it can be loads of fun with very little. Look how easy can be the old 'advent' game under Inform6:

https://www.ifarchive.org/if-archive/programming/inform6/exa...

The game itself in order to be played with M-x malyon:

https://www.ifarchive.org/if-archive/games/zcode/Advent.z5

Now compare it to the C ports under BSD's or GNU/Linux.

Re: Bare Metal (The Emacs Essay)

#84
post #66

Earlier quoted context omitted.

To be fair, running grep from Emacs is a mistake - you should be using ag, or some other parallelized version of grep :) Ardour has around 800k lines of code, and ag (not even the fastest of the new greps) can search it all more or less faster than I can type. The idea of some system that analyzes/caches/indexes the code just isn't necessary anymore.

I customized grep-find on my setup. I have a shell script so that it does the following (in typescript-mode) first search ts, tsx, js, jsx files in the current project. Exclude .git, node_modules... then search node_modules with the ts.. extensions, still exclude .git finally search the whole tree for .py files still exclude .git, /dist... This is coupled with consult-find-grep. I basically want to find a string in t…

Would you mind sharing how you did the prioritization of the sources when searching?

Re: Bare Metal (The Emacs Essay)

#85

Earlier quoted context omitted.

they mean you live within the walled garden, that you are playing make-believe.

That's not true, either, but I understand it's important for a certain sort of FOSS person to believe it anyway.

take it up with the fundamentalists, I'm a Mac Emacs user.

Re: Bare Metal (The Emacs Essay)

#86
post #62

I didn't want the post to end I didn't want to return to an existence where people don't share these transgressive impulses with me. This is a robust and comprehensive antidote to nihilism and anyone who has ever missed the internet of the nineties or early 00s as I have would be doing themselves an enormous favour by reading it, and then rereading it as I intend to. It lost me for a moment at Implicity and I was wor…

I think the same. Even if today I'm a die hard HJKL user, Emacs' doctor and the whole nerdiness world from M-x doctor to M-x fortune among M-x dunnet (and the rest of the games) opened a total new world instead of the damn boring Microsoft world with their own obscure terms making things nearly undiscoverable and very difficult to understand because there was no complete documentation for the end user. Later, in mid-…

I too am an apostate, however the post has gone a long way to encouraging me back into the fold, couldn't find my old .emacs when I had a quick look yesterday, dread starting again but maybe that's a meditation in itself.

Re: Bare Metal (The Emacs Essay)

#87
post #84
post #66

Earlier quoted context omitted.

I customized grep-find on my setup. I have a shell script so that it does the following (in typescript-mode) first search ts, tsx, js, jsx files in the current project. Exclude .git, node_modules... then search node_modules with the ts.. extensions, still exclude .git finally search the whole tree for .py files still exclude .git, /dist... This is coupled with consult-find-grep. I basically want to find a string in t…

Would you mind sharing how you did the prioritization of the sources when searching?

Not the original poster, but if I were doing it with find rather than fd (or ag or rg, which I think can do it without fd or find) I'd do (untested)

    (find "$projroot" -name .git -prune -o -name node_modules -prune -o \
         \( -name '*.[tj]s' -o -name '*.[tj]sx' \) -print0 ;
     find "$projroot"/node_modules \
         \( -name '*.[tj]s' -o -name '*.[tj]sx' \) -print0 ;
     find "$projroot" -name .git -prune -o -name dist -prune -o \
         \( -name '*.py' \) -print0 ) |
    xargs -0 grep /dev/null "$search_pattern"
And, although that approach does work (and maybe even that script will work without any bug fixes) it probably goes a substantial distance toward showing why fd was written.

Doing the three searches separately and exiting after one succeeds is only slightly more code.

Re: Bare Metal (The Emacs Essay)

#88
post #16

To me the charming thing about Emacs is how introspective a program it is. This goes beyond all the documentation being built-in, and being able to redefine things on the fly. For instance, it's easy to define a keybinding that does "Take me to the source code of the command that's bound to the next keybinding I type". When you use that and land at a destination, it will probably be Elisp code, but in some cases will…

I have never once thought Visual Studio needs some way to edit its own source code on the fly... whats the actual use case?

Re: Bare Metal (The Emacs Essay)

#89
post #19

This essay is amazing and delightful, but it is rather densely allusive, like classical Chinese literature; ultimately it is more allusion than plain language. I suspect that most people will find it somewhat impenetrable. But if you want to see Emacs explained by references to Dune, Harry Potter, Gormenghast, Star Wars, A Rape in Cyberspace , Neuromancer , The Matrix, Crowleyian magick, and so on, this essay is for…

"I've also been diagnosed with severe hostility towards Vim users but that's not a real disease of course. The real disease is Vim." https://www.youtube.com/watch?v=urcL86UpqZc

Reminds me of Richard Stallman and how he used to do a character "St. igGNUcias of the Church of Emacs" who would answer questions like "Is using Vi a sin?" with "Yes, but one that is its own penance!"

Re: Bare Metal (The Emacs Essay)

#90
post #59
post #57

Earlier quoted context omitted.

Feel free to add the code to use something else by default on Windows: https://cgit.git.savannah.gnu.org/cgit/emacs.git/tree/lisp/p... >

Why should I bother, when I share James Gosling opinion regarding using Emacs on the 21st century? https://www.linuxtoday.com/developer/dont-use-emacs-says-jav... Given that was in 2008, I would update his remark from Netbeans, to any of JetBrains products, Eclipse or whatever. In any case, you can get those features using Windows Resource Toolkit on the old days, a mix of findstr and other similar improvements on Wi…

Calling Gosling "the father of Emacs" is pretty inaccurate. What Gosling did was create the first UNIX version of Emacs, and while that predates RMS' GNU Emacs, Emacs was originally a series of macros created by RMS for the TECO editor running on ITS (Emacs originally meant "editor macros"), so RMS is clearly the father of Emacs.
Post reply on HN