(no title)
Zobat | 6 months ago
n.b. I'm a C# developer that has accepted my fate and use Visual Studio to earn a living, though I've made sure I know my tool, flaws and merits, better than most developers I've met/worked with. My first job as a programmer was writing C++ code in Emacs and can't remember anything negative about that experience (other than getting used to ctrl+x, ctrl+s for saving and, by reflex, doing the same in Excel, and losing a big part of the document that I had just selected to move, because Excel couldn't undo past last save).
Reading the (at the time I'm writing this) 13 comments on this post I see mentions of at least three lightweight programs that does this. What other than "the mountain is there" makes someone think Emacs would be the tool for this? As a Resolve user I know what tool I'd reach for even if using a multi GB, Hollywood grade, non linear editor, compositor and color grader for trimming a short video clip is about as ridiculously overpowered as using a sledge hammer to press a key (and I did exactly that just a few days ago).
Like I said, I'm most likely not "getting it", on multiple levels. Please educate me, why would I use Emacs for this or any of the page upon page of "strange" use cases you find if you search for "Emacs" here on HN. I know Emacs is a powerful editor but I can't for the life of me understand why I would use it to trim video clips.
iLemming|6 months ago
In Emacs, I have all the tools I need for dealing with text - thesaurus, spell-checking, definition and etymology lookup, search engines, translation, LLMs, etc. Why, oh why, wouldn't I ever try typing anything longer than two words in anything else?
Like, for example, while typing this very comment, I may come across a thought: "I think I already made a similar comment some time ago, let me find it..." What would a regular user do? They'd switch to the browser, navigate to HN, scroll to the bottom, type search query, lookup on the page, jump to the next, keep paging until they find it, copy, switch back, paste... What would an experienced Emacs user do? They'd search for it without ever leaving their editor, grab the stuff from the buffer and paste it - all within just a few keystrokes. Or if I need to find a url in my browser history - I'd just search for it and insert in-place - two keystrokes+search query.
It's not just faster - it is profoundly satisfying and liberating. It gives you the feeling of being in control. You don't have to deal with the quirks of specialized apps; you don't need to memorize tons of their specific keybindings; it gives you a straight path to extracting or injecting plain text.
That's why those who never made a wholehearted attempt to use Emacs just never get it. And those who have, never can understand why others don't even try to recognize the value.
Waterluvian|6 months ago
Zobat|6 months ago
I guess the path to Emacs was more of a possibility/probability earlier in my career and I might find it later but for now I'll alt+tab to the browser and/or open a new tab when I need to look up any etymology and stick to navigating around Visual Studio like a pro while they still pay me to do it.
isbwkisbakadqv|6 months ago
bfors|6 months ago
qiine|6 months ago
dehrmann|6 months ago
uludag|6 months ago
For example, I use the Verb package for making HTTP requests. So with Emacs as my HTTP client, I can do bulk HTTP request calls with keyboard macros. The HTTP requests can be stored in org-mode. I can write custom Elisp for special authentication scenarios. I can create new commands if I need them.
For this example, I can imagine (haven't used this myself) scenarios like creating a keyboard macro to shave off the first X seconds of a video usable with dired.
Some non-text-editing things in Emacs that are actually extremely useful:
Using a well thought-out Emacs interface for anything is one of the biggest sources of joy in my technical life.Zobat|6 months ago
Something in your comment made me remember a DOS based file "explorer". Screen split down the middle with a folder-tree and file list on both sides. I remember hardly ever turning on the computer without starting that for one task or another. That was some serious UI pleasure, at least for the time. Ha, found it:
https://handwiki.org/wiki/Software:File_Commander
Ah, the nostalgia!
shadowgovt|6 months ago
shadowgovt|6 months ago
Looking at the code for this solution (https://github.com/xenodium/dotsies/blob/main/emacs/ar/video...), it's under 400 lines (excluding the require of three very common libraries and an ffmpeg dependency). I'm not actually sure I could pull off this feature in 400 lines of JavaScript (and the binding logic for going from node to ffmpeg isn't going to come to my fingertips nearly as fast as the logic for emacs LISP, although I know that varies from person-to-person).
Plus, once it's in emacs it can glue to other things. If I want to grab video from an email and trim it, I have tools in emacs to fetch particular emails, etc.
I think the most reasonable way to think about emacs hacks like this is "I could do this in a shell script... But why would I when emacs gives me interactivity, a REPL, and the advantages of buffer manipulation as a metaphor?"
brudgers|6 months ago
It won’t require switching to a browser. It won’t require creating an account. No going to the app store. No license consent. No dangerous program warning. No turn on notifications. No unlock premium features. No an update is available. No marketing emails. No cookies.
It’s just gonna STFU and do what it says it does in a way that makes sense. And if it is good enough, it’s good enough. It won’t add bullshit to your day.
shadowgovt|6 months ago
t_mann|6 months ago
[0] recent example from here: a proto social network that runs via org-files-over-http (as if we didn't have a markup language designed for http already) https://news.ycombinator.com/item?id=44889354
iLemming|6 months ago
Org-mode is far more than just a markup. It is executable - you can have executable code-blocks (in different languages) that interact with one another. It is interactive - there are TODO items, agendas, and scheduling that integrate with your workflow. It has built-in calendar, deadlines, and habit tracking. It has spreadsheets with calculations, like in Excel. It is insanely programmable. I use it for various things, even some unexpected like managing my dotfiles - simpler and more predictable than Nix or Stowed, org-mode creates an 'immutable' version of my system.
Sure, it is also a markup, but the markup is just the interface to a much richer computational document model.
So, what you're finding to be weird is only because you are unfamiliar with it. It is in fact highly pragmatic, and there's nothing weird about it; you just have not experienced that firsthand, and that's alright.
agentultra|6 months ago
I think Emacs is basically an elisp runtime that happens to have primitives like buffers, windows, etc upon which a text editor happened to be implemented.
It's more like a programming environment than a text editor. Sort of like Pharo Smalltalk, for example.
You can implement an HTTP server in elisp. You can render SVG, HTML, PDF. All kinds of things.
spauldo|6 months ago
Emacs isn't an editor. It has an editor. And a bunch of other stuff. The core is written in C, but that's mostly a Lisp runtime and a display system. Everything else is written in elisp. If the runtime doesn't give you what you need, you can load dynamic libraries to extend its functionality.
rafram|6 months ago
Karrot_Kream|6 months ago
A well-tuned emacs install is comfortable. I have my keybindings that do what I want them to do. I can visually organize my emacs frame (what is now called a GUI window) exactly how I want, with files taking up the parts of the screen that I want. I can be reading the README of some project I checked out and be curious about some terms, then just select it and send it off to my LLM. It's trivial to switch between Claude, OpenAI/ChatGPT, and Gemini depending on how much context I need to give.
It's like having personal space organized to your tastes. For some, their personal space can seem on the outside as a warzone of stuff, for others it's meticulously organized and labelled, but the key commonality is that it's personal space and that the owner of the space is comfortable in it. That's what emacs is. I don't need to learn a new set of keybindings or mouse clicks to unlock new functionality, I can just bring it into emacs.
layer8|6 months ago
taeric|6 months ago
That is, it isn't like emacs is the thing that is doing the trimming. It is just providing convenient access to ffmpeg to do that. That it is able to do this using roughly 300 lines of code is quite impressive and largely speaks to why people love doing things in emacs.
It would be one thing if this was code golfed to get to a working state. Reading the code, it is remarkably straight forward interactions with ffmpeg.
skydhash|6 months ago
Is it an REPL? use comint.
Is it a tool that act on text files (lint, test,...)? Use compile
Do you need input with completion? Use the minibuffer.
Do you need multichoice selection? Use a buffer and mark stuff (there's a mode that you can extend from if you need to display tabulated data).
Do you need to define flags on the fly? Use transient.
Network request? Calling shell command? A combination of all the above? Emacs got your back.
And because it's a live programming environment, you can start quickly with a prototype (or just altering stuff) and then tweak things until you have a proper package.
kelvinjps10|6 months ago
iLemming|6 months ago
What do you mean by "non-text things"? You are dealing with the computer, it's all about text and mostly text. Sure, it might be encoded and digitized, but even structured binary - is all just text. Even when you give a computer voice commands - they are just synthesized audio form of fucking text. Even with "turtles all the way down" - it's all turtles made of text.
Have you seen the gif in the blogpost? With the transient that has "Move Forward/Backward", "Increase", etc. commands? The commands that you'd have to send to the specialized app anyway - Emacs or not. In what form? Fucking text, of course.
cmrdporcupine|6 months ago
Emacs users typically have a whole pile of customizations, macros, and workflow automations they've written up over the years.
And for things that are text oriented, the ability to work the buffers emacs-style between emacs windows is a joy.
There's a lot of advantages to keeping everything inside emacs.
voidUpdate|6 months ago
you can't do it >:( that reddit post is so annoying to me, the only bit of that which was "pregnancy test" was the plastic shell, everything else was replaced, but everyone keeps going "hey did you know they ran doom on a pregnancy test?"
(and breathe...)
dustfinger|6 months ago
[1]: https://github.com/emacs-exwm/exwm
coro_1|6 months ago
jlg23|6 months ago
karthink|6 months ago
You can, see the command subed-crop-media-file.
https://github.com/sachac/subed/blob/main/subed/subed-common...
sussmannbaka|6 months ago
They don't work in isolation, though, and I bet you can easily think up a bunch of usecases for either. They're scriptable and they compose well, after all, so the tradeoff is worth it. You put up with the headache to automate that batch job of changing the intro sequence of the thousand video files and generate new thumbnails and put the new subtitles in one go.
In emacs, everything tends to be composable and scriptable. You are in GUI land but things feel powerful like in CLI land, except discoverable. It's the "vim is the text editor of the unix IDE" idea, except they put the whole unix into your editor. When people jokingly claim it's an OS they're only half joking. It's malleable. You are already running it. You are already familiar with the way it works, with the way you discover features, get help etc. Why start another program for a task like this?
TacticalCoder|6 months ago
[deleted]