Hacker News new | ask | show | jobs
by markmichalski 1784 days ago
I’m not a long-time emacs user, but as a new one, my enthusiasm is really growing.

Like everyone, I’m finding that I’m in an increasingly disparate set of tools with diverging interface design choices to get my jobs done. The cognitive dissonance that all these different interfaces presents me with feels like it’s getting out of hand, and is growing non-linearly.

Emacs is a arcane tool, and is dated in so many ways, but I don’t know that I can find another solution that allows me to counter the ever-growing complexity of software productivity solutions that I presented with both in my personal and professional life. I know I’m not alone.

As someone who’s not a developer nor a full-time product person, (actually a doctor that wandered into tech), I often wonder why I can’t choose my own front end, and why am forced to use interfaces that don’t work very well for me. Emacs helps me escape some of that (at the cost of a huge relative learning curve, granted)

7 comments

> As someone who’s not a developer nor a full-time product person

Emacs was famously used by “secretaries” (as they were referred to in those days) not only to write documents and mail but to write macros to make their lives simpler. Of course none of them could “program” (which was considered quite intimidating) but they didn’t consider writing Emacs macros to be “programming”.

Back then Emacs was written in TECO so writing actual libraries was pretty arcane and not as easy as it is today.

But I’m glad the learned helplessness around programming has largely ablated, in part through improved tools and in part through simple acceptance.

> Emacs was famously used by “secretaries”

As a law student in 1980-81, I wrote a custom user manual for the law review editors and our admin to use Emacs and Brian Reid's Scribe formatter (on the Computer Science Department's TOPS-20 machine using a VT-100 terminal over a 9600 bps line). I was the only even-remotely technical person on the editorial board, but even so, we were all in heaven: Once manuscripts were typed into Emacs / Scribe by our admin, we didn't have to literally cut, paste, hand-mark, retype, etc., on paper as the editing process progressed. And it speeded up the production process because we sent "clean" edited manuscripts to the printer, as opposed to manuscripts with significant pen-and-ink proofreader marks; this dramatically reduced the time we spent reading and correcting galley proofs. (Electronic transmission to the printer was next on the experiment list but we graduated and left.) I'm sure that's why I've been an Emacs user ever since, and wrote keyboard emulators for WordPerfect and MS Word.

The version that was used by secretaries in that story was programmed in Lisp, MACLISP for Multics specifically, and extended in Lisp.
I would be surprised if that were the case as the secretaries in tech square were using it on the PDP-10.

But its very possible -- I never interacted with any non-programmer Multics users.

The AI ITS machines I think weren't used by non-technical users much, the TOPS-20 machines might be, but the anecdote I heard was always in context of Multics, which had much more explicit time sharing story behind it (with computing as utility).
I don’t know why you say that — the ITS machines were used by everybody in 545 tech square, researchers, admins and “secretaries” alike (both AI and LCS), from when I was there until they were gradually retired. The one TOPS-20 machine, Oz, didn’t arrive until times had changed and a lot of alternatives were already in use.

As for time sharing: ITS stands for “Incompatible Timesharing System” (a joke on CTSS), with memory protection, etc used by multiple users on terminals and over the net starting around/before the Multics project (all of which preceded Emacs of course)

Multics was also at 545 tech square, from 1967 to 1988.

ITS version 1 is counted from 1967 as well (first mentions of PDP-6 ITS), simply because Project MAC couldn't deliver computing resources needed by other groups, not to mention AI Lab tended to modify the hw all the time (a fate AFAIK common to all ITS systems).

The anecdote about secretaries extending Emacs came from RMS, describing a group that used the shared "utility" computing resources provided by Project MAC (later turned into LCS) and who used a manual that didn't mention the word programming, compiled by who-knows-who, which showed how to modify Multics Emacs (which was the second Lisp-based Emacs) to user's liking.

Unified interfaces and allowing users to transfer any transferable knowledge between programs was one of the main ideas behind GUIs like the original Macintosh and Windows, but somewhere around the turn of the millennium things... broke.

But there was a time when interfaces were unified, sometimes to an absurd level (e.g. applications having a File menu when they had nothing to do with files) but IMO that is still better than every app being its own thing.

> but somewhere around the turn of the millennium things... broke

The rise of electron as an 'acceptable' (to some people) substitute for platform-native applications and the myth of the possibility of the "cross platform UI" has accelerated this, really. It's quite unfortunate.

Seems like Electron would make a stronger foundation than native toolkits for Emacs-style flexibility, extensibility and composition. The DOM, for all its faults, charts a solid path between being flexible and still being structured, all while making it easy to change and extend from the outside. I've found it's much easier to write a browser extension that adds functionality to GMail—even without GMail actively supporting extensions—than it is to write a similar extension to, say, the native Outlook app (even with explicit plugin support from Microsoft).

I haven't paid much attention to the Electron world myself so I don't know to what extent anybody is taking advantage of this, but even if they're not, I expect it would be easier than with alternatives.

My first job out of college was developing software on the Macintosh in the late 80s/early 90s and I absolutely took for granted being able to count on the user interface to work in a sane and consistent way for 99% of all software. I fondly recall and very much miss that.
> As someone who’s not a developer nor a full-time product person,

If this year's Emacsconf is anything like the last one, you are a good candidate for watching/attending it. I know whenever Emacs is brought up on HN inevitable comparisons with IDEs and VSCode are made, but if you browse last year's talks, you'll see that most talks are not related to SW development. Emacs has a lot of enthusiasts who like it not for SW development but as an ecosystem.

I've been using emacs for many years now, and I'm sad to say that it has never been slower, despite the hardware getting better. Now it lags like crazy when editing a latex document, no matter the recent version. Something went off the rails in the last year or so, and even Atom is more responsive.
Have you tried the new native compilation system? I haven't worked on LaTeX documents specifically, but I did see a noticeable improvement in responsiveness across the board and a massive improvement in Elisp-heavy functionality like org-agenda.

I've used it on both Linux and macOS; for whatever reason, my Emacs has always been snappier on my Linux machine, and that's still true with native compilation, but now the macOS experience is also pretty solid.

Have you tried profiling? It's working fine with me on both Windows (without WSL) and Linux.
Even without your init file (`emacs -Q`)? Or try profiling (M-x profiler-start, pick cpu, do stuff, then M-x profiler-report) to see if any third party package is involved or not
As one of the EmacsConf organizers, I'm particularly fond of talks that explore how people use Emacs outside the standard software dev stuff, although I'm also keen on talks that demonstrate a well-configured workflow for code or other things. =) Both EmacsConf 2019 and 2020 had lots of talks for general audiences and lots of talks focused on development, so you'll probably find something that interests you.

Actually, can I convince you to share your experience and submit a talk proposal? User stories were a well-received part of EmacsConf last year, and lots of people liked Pierce Wang's talk on learning Emacs as a high school student who's passionate about music. I think people would love to hear about how you wandered in, how you climbed up that learning curve, and how you've been tweaking things to fit you. =)

p.s. love you weekly Emacs blog, its such a joy to read. Thanks for doing that!
there's some enjoyable stability in emacs in a way, sadly it's changing a bit due to the growing number of packages and overlays. But it's still a little less tiring than trying idea then vscode then <new-ide>

In emacs I get my freedom, it's cool. And in 2020.. it's the 2nd or 3rd lightest choice.

Well said. :-)