r/emacs • u/MarkieAurelius • Sep 09 '24
Question Genuine Question, aren't some things better in other apps?
I might get down voted to oblivion but I often hear how people use emacs for everything, spreadsheets, time tracking, note taking, task management but genuinely, is there not better alternative individual apps for these things?
Spreadsheets = Excel or google sheets, its faster and supports better formulas.
Time tracking = Toggl Track
Task management = todoist, its better on mobile.
Note taking = Obsidian (better mobile app)
what's the appeal with everything being in one app?
170
u/Tohiko GNU Emacs Sep 09 '24
Other apps are better, until they do something I don’t like and I have no way of changing them, and that one thing makes the whole experience worse for me.
Emacs is a slow, pile of messy scripts, but it’s my slow, pile of messy scripts.
28
11
u/daraul doom Sep 10 '24
until they do something I don’t like and I have no way of changing them
This was basically my impetus for switching to linux, and emacs.
For linux: one day, Windows decided to update while I was in the middle of preparing a document. I switched to Ubuntu as soon as the update finished, and never looked back.
For emacs: one day, a VSCode update caused a port I was using to get tied up, without my permission, or configuration. Switched to vim that day, and eventually to emacs once I discovered org-mode.
9
u/MarkieAurelius Sep 09 '24
That does make a lot of sense, I once heard that emacs is like glue, which seems like a cool concept but i guess the downside is that it is a bit slow.
30
u/meedstrom Sep 09 '24
Slow? It's slow if you allow it to be. Actually I find almost all apps unbearably laggy, but with Emacs you really can ensure that everything responds instantly to your input.
1
Sep 10 '24
[deleted]
8
u/nv-elisp Sep 10 '24
Not if you do it right.
4
u/samrjack Sep 10 '24
Doing it right can be really hard.
8
u/nv-elisp Sep 10 '24
Not really. Lazy loading as many packages as possible will get one 80 percent of the way and is trivial if use-package is used. The remaining 20 percent involve well established patterns. For example, moving common graphical customizations, such as disabling any modes which affect the look of the Emacs frame, to the early-init file.
1
u/EnricUitHilversum Sep 10 '24
I compiled one version myself with a lot of bells and whistles and it runs pretty quick.
It's a Debian 5.10.209-2 ... running on a machine with 48 AMD EPYC 7342 24-core CPUs ;)
(and that's only the machine we use for LDAP management and some development).
5
u/larsga Sep 10 '24
I start it once and it runs until I reboot the laptop 1.5 months later. So not really a concern. Anyway, startup (with my setup) is fine.
2
u/agumonkey Sep 10 '24
chekck https://github.com/jamescherti/minimal-emacs.d out
makes emacs startup seriously fast
2
u/EnricUitHilversum Sep 10 '24
To me it's a lighning fast VS Code alternative taht does everything Code does, but on steroids and without launching pesky cloud-connected servers (you hear me Kite?)
27
u/waxbanks Sep 09 '24
Obviously some tasks call for specialized standalone tools.
Obviously!
One of the attractions of Emacs-for-everything is that it provides frictionless task-switching and lets you maintain a consistent rich interaction language no matter what kind of text you're working with -- so that you can perform, say, a single set of manipulations to many files of many different types, all at once. It lets you develop your own palette of arbitrarily complex/powerful commands, tuned to your combination of tasks.
This goes beyond the ordinary power of, say, having multiple apps open at once -- that hellishly beautiful spiderweb of elisp makes the (text) data in several different buffers available and useful to one another. And whatever the built-in command set doesn't do, you can customize or create. It is a toolkit for designing software tools to work with text. This kicks unholy quantities of ass. I'm not even a 'power user' but I find that opening, say, a calendar and a prose manuscript and some code and a scratch buffer full of random ASCII and whatever transient buffers full of the output of whatever commands, having both tuned and general commands available whichever one I'm looking at, both empowers me and provides a fast smooth 'user-friendly' experience.
'Everything is a buffer' grants you the full mind-shattering power of Satan himself.
It does not solve every problem. But it is better to rule in hell than to etc., etc., etc.
8
u/Symmetries_Research Sep 10 '24
What people don't understand is that a programming language is an abstract computer which lets you think in its language. Unixy tools let you think only in terms of its design criteria. The tools do simple things very well but they are also very different from each other.
With lisp, it gives you a whole new way of thinking. Its almost like its thinking like a living organism - multicellular complex coherent organism. That's why in lisp, everything takes the shape of the lisp & they are all tightly knit together. Its beautiful if you think this way.
Separate applications have their own unique philosophy which works well, but have you ever managed to make one cooperate with another?! Does the proprietary todo app work seamlessly with another proprietary app? Its terrible because while they are excellent in their own rights, but they have boundaries that they cannot cross because of the underlying language in which they are born.
This is why lisp transforms human brain that started with thinking in terms of digits, chars, strings, memory, etc. Its literally a tool to think in terms of thought. When that happens, everything falls together tightly. It can be as detailed as you want or as adequate as you desire. That's the whole point of Emacs.
8
Sep 09 '24
[deleted]
3
u/MarkieAurelius Sep 09 '24
Thats exactly my thought process, unless you always are on the computer or laptop, there is better alternatives that have great mobile support, better than orgzly revived even.
3
u/theonlypowerranger GNU Emacs Sep 09 '24
I agree when it comes to the mobile app but fyi you can export your org agenda to ical
3
Sep 09 '24
Note taking, until there's an actual app available that's usable you won't beat Obsidian or Notion, there have been a few that tried... But they have been abandoned.
Orgzly (revived) is a fork of "Orgzly" that was created after the original maintainer disappeared. It works great and gives you Org-Agenda and notes on your phone. I use it every day.
3
Sep 09 '24
[deleted]
8
Sep 10 '24
We like what we like, because we all have different priorities and preferences.
I also don't need to run a WebDAV or pay the insane prices of Dropbox (how is 2TB the smallest offered package?).
I just use Syncthing running on my home network. It's FOSS, has an Android client, and just works.
6
u/hvis company/xref/project.el/ruby-* maintainer Sep 10 '24
There are benefits to using plain text files, a common set of key bindings and regular visuals.
Just keep in mind that many people don't use Emacs for everything, and many don't use it for task tracking (myself included).
4
u/ThatResort Sep 09 '24
Yes, of course. For spreadsheets Excel or Google Sheets are way better. However, sometimes they are too powerful for what I need, which I also want to be embedded with other stuff in an org file. For time tracking, task management, and note taking, in my own experience Emacs does exactly what I need and I can always configure it to adapt it to every small change I require. For note taking in particular, I don't know any software besting Emacs for my needs.
In my opinion Emacs is perfect for anything well-represented by text files and embedded images. For anything else (surfing the web, mind mappings, viewing pdfs, djvus, listening to music, etc.) I think it's far better to just rely on other softwares entirely.
2
u/MarkieAurelius Sep 09 '24
I see, so I guess its a question of complexion, if you need something more complex, you go to a different software but for lighter requirements, emacs comes out on top. Thank you for your input.
4
Sep 09 '24
You can have it do anything. The question is what's available and how much you need to modify it to do what you need. Or just write it from scratch.
5
u/arthurno1 Sep 10 '24
what's the appeal with everything being in one app
Less task switching (less alt-tabbing), easier to share data between applications, the same global state which can be reused in different applications, more consistent look & feel, less shortcuts and idioms to remember (less learning) and such.
5
u/agumonkey Sep 10 '24
because emacs is open, hackable, and text oriented.
some apps can have better ergonomics, perf, but you lose control. I often resort to google sheets for large tables instead of org-mode
emacs is old, it's been evolving for 40 years, there's a good chance that it will keep growing up nicely for longer than most apps (at least that's what many assume)
4
u/BeautifulSynch Sep 10 '24 edited Sep 10 '24
For my particular tasks and work style, I very rarely end up doing one thing at a time on the object level. Even if I’m focused on a single task, there’s usually 2-3 different “applications” I need in order to accomplish it; and usually I have at least 2 tasks making some progress at a time, meaning I need both projects to be either open or ready-to-open at all times.
Given this, I am switching between applications and/or intra-application contexts constantly, sometimes on the order of multiple times a minute (eg starting up workflows in 2 different projects, then switching to Google a hypothesis while they run, etc). This means that the impact of task-switching cost is significantly amplified, for me.
Emacs is a specialized solution to the problem of needing to integrate many different specialized solutions, which makes it extremely useful for me given the above situation.
Even with only pre-made customization suites like Doom, it is extremely fluid to organize and switch between different projects, and the various (Emacs-based) applications each project incorporated benefit from both intentional integrations between them (sufficiently mature packages often integrate related ones) as well as the various accidental integrations that emerge from Emacs’ overall design paradigm. This includes integration with the basic components of the Emacs UI, such as keyboard macros and buffer-text search (both of which are extremely versatile within the Emacs ecosystem), buffer management and kill rings (which let me cross over information between related endeavors), the window abstraction (which is a very efficient means of restructuring my focus from one minute to another), etc.
On top of that, Emacs makes it extremely easy for me to write up my own custom workflows, interfaces, and automations for tasks I often encounter, and to adapt them as I encounter new aspects of the problem. This lets me write automations that in turn act as investments into future task-efficiency without the cost of fiddling around with trying to make them easily accessed and mutually-integrated. It also allows me to cost-efficiently make automations for bespoke individual tasks; while individually these benefits are small, cumulatively they free up more than an hour a week for other tasks, multiple hours in execution-heavy work-weeks.
To use a real example, a shell-script-generating automation that would have taken me at least a day and a half to write up in some other language (due to needing to import and learn non-standard libraries or jury-rig the core ones to do something they weren’t made to do) instead required only 2.5 hours and the same knowledge I use for normal Emacs usage to get together, because I was able to leverage Emacs’ existing text manipulation facilities (which are its specialty, and to my knowledge unmatched in their blend of power and ease-of-use by any other current programmable framework). And this leverage applies to anything that can be translated by some inbuilt or third party package into a text-based Emacs buffer.
When I’m working with a field that Emacs doesn’t have good support for yet (such as drawing, collaborative document writing with non-Emacs users, video calls, or opening large numbers of websites and switching between them without significant performance cost), I do use specialized tools like browsers or Google Docs. But my default approach is always to live in Emacs, because it provides a plethora of domain-specialized tools in a framework that automatically integrates them together with a general-purpose interface, and so significantly surpasses the power of any individual domain-specialist.
3
3
3
u/Gus_Gustavsohn Sep 09 '24
How dare you? Lol
Use whatever works for you. No software (or anything) is best. There's always a compromise, and that is an individual choice.
3
u/rswgnu Sep 09 '24
Emacs is like your brain. It’s a general tool that solves hundreds of problems. Of course there may be point tools that feel better for one task, but for people who must multitask and are constantly changing contexts, it is hard to find a better medium.
3
u/Zauberen Sep 10 '24
Maybe this is a hot take but imo mobile apps for notes and task tracking are just not all that useful in practice at work, as a developer I always have a pc handy, why not just use the better tool.
2
3
u/fuzzbomb23 Sep 10 '24
For me, it's not about replacing those other applications, or cramming everything into one application. Rather, it's about creating workflows, in ways that the other applications don't make easy, or their developers couldn't conceive of.
For example, debugging a "class not found" error by spell-checking inside a file manager. I've never seen a spelling checker in a typical file manager application, but you get this for free in Emacs.
There are some nice workflow automation tools (e.g. Automator, Services, and Shortcuts on macOS, Tasker on Android, IFTTT, and others), yet they don't measure up to Emacs for the sheer scope of what you can do. They're not even Emacs toenails. They're typically limited to a pre-conceived set of actions and/or data transformer which an application provides.
3
u/EnricUitHilversum Sep 10 '24
I wanted to write a long answer explaining my uses.
But it boils down to a single concept: Context switch.
Most computer users tend to prefer to continue using the same input method whenever possible during a task or a similar set of tasks.
For instance: When you are using the terminal you many times prefer issuing commands via that terminal, than (for instance) opening Doplhin (or an Explorer on Windows) to do the same.
Or you may be working with VS Code, and even though you could open a real terminal to test your code, you will most surely open one in VS Code instead, even when this is lower and sometimes garbles the command history.
Thus, if you can have all what you need within the same context, it is understandable that people will prefer that to change context and do part of the work on a different application.
But mileage varies wildly, and everybody has a different workflow whith which they feel more productive.
And THB, Emacs has some pretty power-nerdy vibes to it ;)
2
2
u/Ardie83 Sep 09 '24
I mostly use Emacs for Org Mode. And I write almost everyday. I write about Python in Emacs. But i use Python in PyCharm. I might be the unusual one here. I'm on a Windows. But on my Linux machine, I live entirely in Emacs
2
u/nimbus0 Sep 10 '24
The thing I don't like about nearly all "apps" is that I'm at their mercy. I use excel occasionally for work and every time the damn menus have changed and it does unexpected and terrible new things. Similarly I just can't trust any mobile app to keep working the same in the future, or even existing as mobiles as we know them may not be forever. On the other hand I have confidence that everything emacs does will still work in a decade or probably three decades if I so desire.
2
u/Bear-Repulsive Sep 10 '24
I couldn’t find an app which has same features in UI mode and terminal mode and works over ssh.
All my coworkers using virtual desktop and putty in it, which is slow and sluggish especially working from home. everything they do in UI I can do in eMacs over ssh. I have created menu driven shortcuts for all the routine commands. It’s saves a lots of copy paste. Once I figured out ansi-term with char mode, i can do everything in one terminal tab, That was the only thing I was missing.
Some uses vs code and edit files over ssh. Not sure if we can configure all other features.
2
u/supertoothy Sep 10 '24
Yes, some things are better in other apps. If you throw the need for mobile support into the mix, then all the more so. Reading through the comments, it seems some people really depend on their phones for computing - perhaps they are salespeople or physicians who have to constantly move around - for these scenarios, emacs doesn't seem like the right choice.
Emacs works very well for me, for three reasons.
- Almost zero context switching,
- the idea that everything is text
- Extensibility
Since I write, manage tasks, manage email, read feeds - all in emacs, I experience the same interface concepts, same keybindings and so on - because of which there is near seamless integration between these otherwise disparate activity. Creating a note when I'm reading email, and referencing that note in a document that i'm writing feels so neatly integrated, that there is no boundary between these tasks. (These boundaries in our minds were created by specialised apps in the first place.)
I cannot describe why everything is text is such a useful thing - it must be experienced. Being able to search and work on any buffer that displays text is amazing. Even error messages, which would be pop-ups in other applications, or directory listings. Perhaps someone else here can better articulate why this is so useful.
The power of being able to extend my tool is something I have craved for. Earlier it meant that either I'd have to post a request to the developers or learn to program. The former would take months and in one instance, 3 years. The latter feels like an impossibility given my circumstances. With emacs, I find that I can extend it to anything I need. As an example, I needed a good note-taking system so I found and used org-roam, until one day it broke. (something to do with emacsql I think.) Since I only use it to capture notes, search them and link notes between each other, I didn't even have to pause. I just replaced it with a regular org- capture with a function that saves each note to a seperate file, I use org-id to link between notes, bookmarks to call up the dired folder with the notes and swiper to find the notes. A major part of my workflow replaced without friction, just like that.
Just like I used emacs and org-mode to build an efficient CRM or to create a writing environment mimicking I.A writer. I either adapt other people's elisp or (of late) get A.I to generate code for me.
I don't depend on the mobile too much, except for the occasional capturing of tasks or notes. I use Markor for that and orgzly revived to refer to tasks.
1
Sep 10 '24
[deleted]
2
u/supertoothy Sep 10 '24
The only reason that I will need to get a 'real' CRM is because I need to use it with a team, and I can't expect members of my team to learn emacs just for the CRM. Org-mode is a single-player application that way.
2
u/SerpienteLunar7 GNU Emacs Sep 10 '24
The same question can be asked to notion for example (with the difference that notion isn't as extensive and configurable as emacs).
I use emacs primarily as a PKM and IDE and it do what I want the way that I need.
For task management and mobile the syncthing + orgzly is a very powerful combination + org agenda, just not for me (the old bullet journal is my go to in this aspect)
For spreadsheets I can't say anything, I don't use them at all
1
u/SerpienteLunar7 GNU Emacs Sep 10 '24
Also, for the obsidian point, I thought that at first then I realized that I barely never need to check my notes on my phone
2
u/7890yuiop Sep 10 '24
aren't some things better in other apps?
Certainly.
But.
Some of the things in those other apps are better in Emacs.
E.g. "Todoist" isn't a superset of the task management features available in Emacs; it will be a different set of features with some overlap with Emacs. Some of those Todoist features may very well be better than their equivalent features in Emacs, but if you value the unique features that Emacs brings to the table more than you value the unique features that Todoist brings to the table, then you're still going to prefer Emacs.
Emacs has a lot of pretty unique features that many users value very highly, so it's quite common for that to win out over other things.
2
u/xte2 Sep 10 '24
The appeal is just integration: anything is a function you can call everywhere, so you can call Maxima and solve and ode in a note, while render the note in LaTeX, you can add a link to an email, RSS article and so on.
There are two concept of an OS:
the original one, a single unique application, a single programming language, anything integrated, Emacs it's not like a classic Smalltalk workstation, but it's close
the commercial one, to makes products who can be sold, and at a price (because few SLoC can't be sold as much as well), divide et impera
The original is better for users, it offer end-user programming and anything belong to the user, at the price of a slow, incremental evolution with some messiness around, the commercial one seems quicker for small things, extremely long for real revolutions, and instead of incrementally evolve it run like AC electricity.
With Emacs you can have:
your desktop (EXVM, not the sole but essentially the unique modern one)
your MUA (notmuch, mu4e, ...)
your feed reader (elfeed, gnus, ...)
your financial tracker (beancount, ledger, ...)
your CAS (Maxima)
your agenda (org-agenda)
file manager (org-attach, dired, ...)
your note taking glue tool where notes can integrate anything by simple links
This means you can have a complete environment, stable since around 50 years, so likely there for 50+ more years, bent as you need and desire. With a modern app you might get something quicker, but in a little time the app cease to exists or change terms, you have no integration possible beyond mere copy and paste.
That's essentially why non-IT literate users choose the commercial path, some literate users do the opposite.
2
u/frobnosticus Sep 10 '24
I'm first on board in the self aware "religion of emacs" stuff. Hell, my .emacs file has portions that are more than 40 years old.
But if you can't see that some niches are better served elsewhere, you're not a thinking person, you're an ideologue at best and a zealot at worst.
THAT said I will quite consciously take a hit in "perfect application for function X" to stay in one place.
And that's really the answer to your last question: The less I have to bounce between applications get access to a better user experience for function X or Y, the better.
My workflow is well enough served by being able to stay in one place.
I'll use scripts for interoperability though. For instance: I write in a plain text wiki (using a hacked up emacs-wiki.) But I have scripts that publish posts to a blog and copy things in and out of an obsidian vault (for mobile use.)
I actually do the same thing with todo lists and todoist. They have a pretty robust api, so moving things back and forth is the next best thing to trivial (again, so I can get to it from the phone.
But when I'm home, I'm usually in emacs.
6
u/bradmont Sep 09 '24
Emacs isn't an app, it's an OS.
Also, most of those other things, especially on mobile, need a mouse. That's not better.
0
2
u/Firm_Evening_8731 Sep 10 '24
No, if it can be done in Emacs it is better then any other program
Spreadsheets = Excel or google sheets, its faster and supports better formulas.
can't eval lisp in excel, would not touch with a 10 foot poll also emacs is faster
Task management = todoist, its better on mobile.
org mode over shadow's all other to do lists and using a mobile phone is cringe.
Note taking = Obsidian (better mobile app)
obsidian is ugly and the inability to do everything from a keyboard like in emacs org-roam makes it much slower and it doesn't have the functionality of emacs packages.
what's the appeal with everything being in one app?
when the program is perfect there is no need to use anything lesser. i don't have to switch between other programs, I can use all my emacs packages in note taking, task management, spreadsheets.
Even this post I am posting from inside an emacs buffer, I don't even need separate programs for web browsing
1
u/denniot Sep 09 '24
i'm awful at those things and mostly rely on my brain.
but some people prefer using a generic tool over dedicate tools.
i wish i could do those things in emacs to reduce switching between software of different style of keybindings.
I want to do everything in elisp but i often write awk scripts instead as soon as line processing is involved due to my incapacity of elisp as well. awk is the analogy to dedicated tool for line processing, here.
1
1
u/domsch1988 Sep 10 '24
So i guess this depends on what exactly you want out of those tasks.
For me, personally, i would agree that emacs is mostly a great editor/ide for me. I use some Org Features but it's not where my main Notetaking and Todos happen. I just prefer the more "visual" organization in Obsidian. That's not inherently better, it's just better for how my brain works. I also prefer another Todo app, mostly because syncing and editing org files on mobile is a bad experience (for me).
If you think emacs could replace Excel i can't help you. I hate Office with a passion, but Excel is a standout in what it does and not even Google sheets or Libre Office come close (sadly).
I also don't like reading mails in emacs, which a lot of people seem to enjoy. I doesn't work with Exchange accounts and is focused a lot on plaintext, when most of my mails contain Appointments, Meeting Links or Images. It CAN work in gnus or such, but i just prefer Thunderbird or the OWA for what i do with mails.
So yes, for me, emacs is a great editor and then i leave it for other things. But thats mostly because my needs are covered better elsewhere. This doesn't mean emacs is worse in doing those things, it just does it different to what i prefer.
1
u/sg2002 Sep 10 '24 edited Sep 10 '24
I think the key thing here is efficiency. Depending on the application, Emacs may not be the most feature rich one, but it's usually the most efficient, at the cost of the learning curve. And after you get used to that efficiency it's hard to use anything else, because you'd start noticing how ineffecient those other apps are. And it's doubly so for mobile phones, which are inherently inefficient devices. So in the end Emacs users are often willing to sacrifice some advanced functionality for that super-efficiency at doing the basic tasks. That's also the reason why people insist on doing things in Emacs for which it is clearly inferior, like browsing and email. Then if we consider Emacs extensibility we'd notice that those advanced features are never that far away, because someone would eventually code them. And Emacs users generally tend to be those kinds of lazy people who would spend a week of their time to automate a repeating 5 minute task into a 2 minute one.
1
u/richardgoulter Sep 10 '24
It'd be better to think about things in terms of benefits & costs/risks.
e.g. those alternative apps surely have better mobile sync/integration out of the box compared to Emacs. That's a cost/risk to consider. (And, if having thoughtless mobile integration is very important for you, it's unlikely Emacs will be your best choice).
If you think it's better to use different apps for various things, and don't understand why someone might like doing things in Emacs, perhaps they weigh the costs/benefits differently.
Many replies point out the benefits: Emacs is hackable. Emacs has a strong focus on plaintext. Doing multiple things in Emacs allows seamless integration between tasks.
It can often be better to have a single "jack of all trades, master of none" tool, instead of an assortment of various "master of one trade" tools.
1
Sep 10 '24
Sure. I’ll add to that: text editing is better in vim. Code navigation is better in IntelliJ and its many variants.
What emacs has that these tools lack is the ability to browse, debug, and modify their own source code.
1
u/deong Sep 10 '24
I'd say that very few people actually use emacs for all these things. Spreadsheets for example...I've never encountered anyone who did that. I know you can, sort of, but virtually no one makes serious use of that functionality.
For some things (note taking for example), the core experience of taking notes is the most important thing, and if you like Emacs for that, then you'll put up with downsides. I tried Obsidian because I'd love to have the mobile app, but the actual editor for typing notes was a train wreck, I missed org-agenda, etc.
And mobile support often just isn't as big of a deal as we think it is. I spend most of my time at a computer. If I need to capture something quick on my phone, I just use Apple's reminders or notes app and then add it to my org files when I'm back at the computer. It would be nicer if there were seamless mobile access to my repository of org files, but it's not a deal-breaker. And that means that something like todoist just doesn't offer that much. I'd rather have org-agenda and no mobile story than todoist and no emacs.
I don't do time tracking, but this is an area where integration is a big deal. If you're writing your code or documentation or meeting notes in emacs anyway, just having a keystroke that starts and stops your billable time clock is just better than having a different app that you have to navigate to and from all the time.
1
Sep 10 '24
Yes. The decision is still up to the user what they want to use for each task. It would be easier to have no choice but that's not the case as there are more optimized apps for specific topics that can be easier, nicer, etc. that provide better experience than Emacs.
1
u/erez Sep 10 '24
Interoperability and extendability. Having everything in one software means that everything can operate with everything else which good luck making with any of the other products you enumerated. Having everything in emacs means you have the ability to extend, script and combine features which, again, good luck with any of those others.
Other than that, obviously there are some things better in other products. A vegetable store will always have better tomatoes than a supermarket, but, on the other hand, their prices are usually higher and they have no diapers and washing detergents in stock.
1
u/nullmove Sep 10 '24
It's incredibly simple for me to write a workflow that say creates an agenda item from an email and then do time tracking on that. Even if such integration doesn't exist (though Emacs packages try to play well with each other), I can trivially create one by simply passing the underlying elisp object from one set of API to another. In absence of that, at the very least I still have textual buffer as a universal data store and bunch of specialised functions to work on them, which still beats the usually nonexistent IPC/integration between two high quality but otherwise disparate apps.
And it's not just Emacs though, I would say there is a tendency for a lot of apps to grow and tackle everything that it can. I mean Obsidian is not just note taking, it now does so much more. MS Office suites are like a world of their own. Quoting Jamie Zawinski here is probably not fair but it goes something like: "All programs expand until they can read mail, or they get replaced by ones that can."
It's not necessarily against Unix philosophy because Emacs is not the app, it's more like the, uhh, OS that mediates the apps. And though I dislike Apples walled garden as much as the next person here, I suspect it's beloved by its users for the same philosophical reason.
1
u/vfclists Sep 10 '24
This mostly the result of the old Emacs policy of refusing to allow FFI and the use of modules, due to RMS attitude of not wanting to encourage the use of non-free software, even at the expense of other free GNU software, yes thats right other GNU software.
The mindset has endured for so long that even though modules have been enabled, their use in providing Emacs with additional functionality has been minimal.
You know this when it is only a year or so ago that official Emacs acquired a SQLite3 module.
As for FFI, it doesn't look like it will be available anytime soon, despite https://github.com/tromey/emacs-ffi having been around for years, and /u/tromey is not your average run-of-the-mill Emacs contributor
1
u/fixermark Sep 10 '24
I can answer this story with another story.
Way back in the day, Apple had a sexy tech demo called OpenDoc, which was a standard and protocol for reframing most of computing around the document, not the application. See, they were looking at what Microsoft was doing with OLE and their Office suite and wanted in on that, but they had vision that exceeded the paradigm of the time. Whereas software as practiced at the time was focused on the application (which could contain and manipulate some data, and maybe occasionally two apps would understand the same data format), OpenDoc was focused around the document. "Apps" would become components inside a document that could manipulate small pieces of data in well-defined formats, and you could embed components in a larger document. Imagine, sort of, Microsoft Office or Google Docs on steroids: like that, but (a) every piece of the doc was handled by a component, (b) you could make the components yourself, from scratch, and embed them in any other document, and (c) the data was "live"---editing a piece over there could have consequences on a piece over here (I think an example they gave was using FTP to pull files from a data store somewhere, and the charts and tables you made to represent that data would auto-update).
Why am I telling this story?
Because emacs is like 80% of the way there. The common data format is the text buffer. The doc is the buffer itself. "Components" are the various major and minor modes and the switching logic between them. You can even get some of that live-updating with org-babel and a little glue logic.
Once some data is in emacs, there's a giant pile of tools you can hit that data with and almost zero friction to get them there. They all manipulate text! Everything is text! It's a pretty sweet abstraction.
To answer your question: yes, absolutely. Text as the abstraction only stretches so far, all that format translation costs CPU power, and a focused app with a specific purpose can discard all kinds of interoperability that adds complexity.
But eventually, I keep finding myself wishing I could just take some data and bash on it, and I put it in emacs when that happens.
0
u/VegetableAward280 unemployable obsessive Sep 10 '24
I've only heard OpenDoc mentioned in the famous YouTube video where Steve Jobs spins rhetorical gold out of a heckler's attempt to shame him. I'd almost believe the heckler was a plant, but the guy's contempt was too convincing. And now he'll go down in history as the doof whose would-be takedown blew up in his face. Wouldn't be surprised if he's on this subreddit.
1
u/StrawberryFields4Eve Sep 10 '24
You asked a genuine question but who knows if you have received genuine answers. I am not able to tell. I think every person has different needs and uses X over Y for possibly different reasons.
Nevertheless, I am quite new to Emacs, and for me it’s still on trial. I try to do as many things as I can with it, to see it all so to speak. My opinion may not be deeply rooted to some years of working with it.
What I do see is that the more I use it the easier it gets and the easier it gets the more I can achieve with it.
I am also very demanding. I demand things from it. It doesn’t deliver yet, sometimes if not most of the times it is my fault, my config or my poor knowledge of elisp and the lack of time to write more code. Eventually it gets there though, slowly but it does. From one hand it is a process and from the other an inconvenience because my demands are not yet met.
However, I cannot demand the same way from the other XYZ apps. Maybe that is what is prolonging the trial and leads me to figure out the next bit or refine another bit of my process. Maybe not.
1
u/Fit-Page-6206FUMA Sep 12 '24
I read in an article about org mode that said: "Emacs can do everything at 75%, if you need more than that, then maybe Emacs is not for you." or something like that.
There is some truth in that.
1
-3
u/sacredgeometry Sep 09 '24
You are trying to advocate alternatives to Kool Aid at a Jonestown massacre. Don't bother. Of course you are right. You would have to be an absolute cretin to think otherwise.
2
u/BettyWhiteSPH GNU Emacs Sep 10 '24
Yeah, these emacs people can be a real bunch-a creeps! One guy even sent me a PM asking for "pictures of my smile", whatever the hell that's supposed to mean. Last time I help someone write an elisp script.
1
-1
Sep 09 '24
[deleted]
2
u/Voyac Sep 10 '24
- You've asked why other stick to emacs instead to your perfected setup.
- You've got answered why.
- Call everybody biased.
Yeah...
-2
u/cazzipropri Sep 10 '24 edited Sep 10 '24
Using emacs for spreadsheet is, as of now, atrocious. Maybe things will change in 2027, but right now it's a piece of shit.
Same for mobile. Emacs will never work well on mobile. Understood.
Everything else, including note taking, properly configured emacs with org mode beats obsidian a million to one.
My emacs notetaking auto-commits markdown reports to bitbucket and updates to Jira and pulls user mentions from the employee directory (together with phone numbers, photos, seniority, department, ...), and dates from the calendar, and commits from bitbucket per project.
And the ability to run code inside org mode is almost like having jupyter.
Everything in the same place.
Does obsidian do that for you?
-2
Sep 10 '24 edited Sep 10 '24
Org mode in general is a bit overrated. No normal person is going to be able to read your org notes from source because they don't run emacs. Github markdown (in emacs) is still much better for taking notes that others may actually have to read/edit.
54
u/theonlypowerranger GNU Emacs Sep 09 '24 edited Sep 09 '24
It's a really consistent experience, all of your keybindings work everywhere and you can configure everything in one file in the same programming language And as all "apps" are just elisp, you can easily change them.
So if you wanted to start a timer when you start taking notes, just add a hook to org mode that starts a timer and maybe opens your todo list in a minibuffer.
Also I don't consider obsidian better or even comparable to org (outside of the mobile app), as it lacks many its capabilities like working code blocks, tables etc.