Live data from Hacker News

How I am deeply integrating Emacs

joshblais.com

151–160 of 173 posts

Re: How I am deeply integrating Emacs

#151

Earlier quoted context omitted.

This is the thing people forget about emacs - it is primarily a lisp environment, entirely programmable. Something one can make their very own. Nothing else comes quite as close, even if the keyboard ergonomics (at least for me) do help to sell it. You can change the workspace to better the workflow in real time, that's the biggest selling feature.

And this is why, even though it is a better OS environment my grandmother will never use it. And because emacs is under socialized and under adopted the emacs user will still have to use notion or outlook or whatever corporate security requires.

To be fair to corporate, Emacs has a pretty terrible security model.

There's no reason a program like Emacs couldn't exist which had something like capabilities baked in, but as it is, every package has access to anything it wants.

Re: How I am deeply integrating Emacs

#152

Earlier quoted context omitted.

I think of it a bit differently: if the tool is getting in the way, this will hamper the effectiveness and raise the barrier for skilled individuals to do their best. Yeah, the absolute top-tier max-talent people can do well regardless, but if the tools are better quality and more "out of the way", this allows a greater pool of people to do their absolute best, with less friction.

> if the tools are better quality and more "out of the way", this allows a greater pool of people to do their absolute best, with less friction. I think YuukiRey's point is that this is not true. The bottleneck for people to do their absolute best is almost never tool-induced friction, until you've already built a strong pre-existing skillbase. Overwhelmingly it's motivation, interest, time, energy, etc. In theory to…

Right, I get that. That's their opinion, and I was expressing a differing opinion (that's why I said "I think of it a bit differently" lol)

I have recorded hundreds of songs using digital audio production software since ~1999. Switching to Logic Pro unlocked the opportunity for me to work WAY more effectively than a shareware tracker software I was using before (and Fruity Loops after that), in fact allowing production techniques that are literally impossible with a tracker. Not just large-scale features, but minutiae in how the interface works, "intuitiveness", ease of access like a single key-press to enter a certain editing mode, things like that.

When I am working with my mind and trying to be creative, every millisecond spent thinking about stupid UI quirks/peculiarities takes away from the part that actually matters: creating.

If the UI is obtuse, and I can't figure out how to employ a certain technique, the tool is hampering my progress. Conversely, a thoughtful feature in a tool can boost productivity and boost the success rate of reaching a "flow state"[0]. One example of this: there's a common technique to record multiple takes of the same segment of instrumental performance or vocals, and then layer those multiple recordings together to give more dynamism and depth to the sound. Infected Mushroom uses this technique a lot[1]. In Logic Pro 10 or so, they added built-in support for doing this, making it super easy to quickly/successively record multiple takes[2]. I don't know what other DAWs did this at the time, but if you're just learning, this is a really nice production process surfaced in a very low-friction way. Otherwise you are making a new track, recording, trying to line it up properly, making a new track, recording again, lining it up again, etc. It's also not even obvious that this is something you could do, but because Logic made it an actual built-in feature, its very existence also acts as a form of "tutorial" if someone is just exploring the UI or reading the documentation.

So, yeah, as a pretty amateur studio producer at the time, the "best tooling" allowed my skills to improve by a gigantic margin, compared to the slow progress I was making with inferior tools before that. I can't agree for a second that tooling doesn't matter or only matters for people at the top of their game.

[0] https://en.wikipedia.org/wiki/Flow_(psychology)

[1] https://www.prosoundweb.com/exclusive-interview-production-t...

[2] https://support.apple.com/en-ca/guide/logicpro/lgcpb19806af/...

Re: How I am deeply integrating Emacs

#153
post #4

The more I learn about emacs the more I feel we took the wrong fork on road in terms of the desktop metaphor decades ago.

The more I learn about emacs the more I'm happy I never joined the cult Don't waste my time with 70s "ergonomics" (if it can even be called that) The comparisons with art seem almost to the point of offense to me. You're not building art, you're just building another yet plugin for emacs to do what other people do in maybe 5% less efficient ways but won't spend 2 days automating it

> 5% less efficient

Emacs changes big O. It is not about changing constant factor. If you need N commands with M features then you can implement and combine them in emacs in O(N+M), to get O(N*M) custom commands.

For example, if you need “Search” feature then you can use it everywhere. It can help find you a file in Dired buffer. It can help you find a git chunk in magit. It can help you find todo item in Org mode, etc. It like having a separate `uniq` command instead of implementing it for each shell command (`sort -u` vs. `sort | uniq`). Another example, having `repeat ` to repeat `` command `` times in zsh vs. implementing ` —repeat ` for each command.

The difference is linear vs. quadratic. If you need to do 1000 actions that can be decomposed into 100 commands with 10 features each then in emacs then you need to know and understand ~100 things vs. 1000 in less customizable environments.

Re: How I am deeply integrating Emacs

#155
post #92

> I have seen what people are capable of doing when their tools get out of the way, and they are free to just create. This is how world class athletes, musicians, artists, writers, and of course programmers take what is in their mind and translate it into reality. I think this is a fallacy. If you approach the question of how these people achieve the things they do with a bias towards tooling then you'll come to the…

I'd go further. Some of the world's best tooling is only usable by the world's best users. Examples abound on this. The best drivers are in vehicles that I would almost certainly crash. Our best pilots are in planes that I literally don't understand the controls on. (That is true for the cars, too, oddly.) A really good guitar is easy to miss notes on. Precisely because good guitarists don't typically miss. Now, I th…

As you get better at something you become more opinionated at what you need your tools to do. You demand more specific and tailored things from your tools and so you start to lean towards things that are more adjustable.

There is also the case that once your entire livelihood depends on something, consistency and muscle memory matter a lot. Lots of world-class athletes, drivers, and performers probably use tools that closely resemble the tools they learned and trained with their whole lives so they would probably seem kinda anachronistic to a newcomer.

Re: How I am deeply integrating Emacs

#156
post #3

Earlier quoted context omitted.

A good carpenter takes time to maintain and procure their tools. They still have a nice phone and might listen to music on their headphones while they’re working. A chef must keep their kitchen clean and well organised. Stocked with appropriate and some obscure tools. She must season her saucepan, sharpen her knives.

My first career was as a cook and I would always sit and sharpen my knives after the last service of the week. It was kind of a cool time to reflect on the previous cycle and mentally prepare for the next. There's really nothing comparable in programming and I say this as someone who has spent hundreds of hours yak shaving emacs.

> I would always sit and sharpen my knives

Tech debt

Re: How I am deeply integrating Emacs

#157

Earlier quoted context omitted.

I don’t imagine I’d want to use my general emacs as my window manager, I imagine the sanest way would be to run two instances of emacs.

I absolutely love Emacs, but I can't understand why people want it to be their window manager, of all things. Emacs can be many things, but high performance it is not. And WMs definitely are a high performance area.

They’re really not. Stability matters, but a wm has very little to do with actual rendering, it’s more placement, title bar and decorations, emacs as slow as it can be would be perfectly fine unless you have some crazy extensions on top, hence running two instances.

Re: How I am deeply integrating Emacs

#158
post #82

Earlier quoted context omitted.

Ah, like my eMacs pinky and thumb? ;) I literally went to an orthopedic specialist recently for overuse of the left alt key causing me pretty notable pain in my thumb.

Alternate between using the left and right Alt keys. The ergonomist's rule of thumb (no pun intended) is to use both halves of the keyboard. So if pressing Alt-x, use the right Alt button, etc. I had RSI issues early in my career and this advice alone really helped. Never got the Emacs pinky/thumb. I recently switched to a MacOS and that is giving me thumb issues with the overuse of the Meta button. I now consciously…

Yes, I’m also on a Mac (for now), and I do make fairly minimal use of my mouse. My problem is defeating years of muscle memory

Re: How I am deeply integrating Emacs

#159

Earlier quoted context omitted.

I live in EXWM. I absolutely love it as a coding environment. EXWM + helm + projectile. I mainly use v-term for cli, but I have always been interested in learning eshell, just never got around to it. I have been thread-locked on occasion, and when that happens it is frustrating. I can sometimes manage to switch to another session to kill processes and avoid restart, but not always. Still, I wouldn't leave EXWM. Maybe…

If you want to try eshell, try combining it with EAT (eat-eshell-mode). > Maybe in my retirement I will end my career by helping to make emacs + EXWM multi threaded. I am guessing that is a daunting project, but it sure would be fulfilling. This isn't fixable with threads, unfortunately. The issue is that: 1. Emacs e.g., launches a process with call-process. This blocks EVERYTHING (including other threads). 2. That p…

Thank you stebalien, I will remember these points about EXWM / emacs and concurrency. I'll look into EAT as well.
Post reply on HN