Buttery smooth Emacs (2016)
facebook.com
facebook.com
Personally I choose (recently) Emacs as my main computing environment because even with it's many problems (there are and recent evolution solve some and add others) it's the most effective computing environment I have ever found.
So in conclusion I dream a "modern Emacs" with an EXWM that play nice with any kind of GUIs (it gets a bit worse recently for floating windows or floating windows apps change for the worse I do not know exactly), I dream a damn coherent and complete MUA instead of my actual super-spaghetti-code mess mix of mbsync+notmuch+afew+homegrown crappy scripts + ... just to have a damn good modern and efficient email solution NO ONE, web(cr)app(y) UIs included seems to provide... I dream a GuixSD in org-mode in my own personal config so I have an "my_desktop.org" that contain anything from OS to Emacs config and I can export, change, replicate it in a snap... But that's a bit of a dream for now. New nice stuff arrive (doom modeline is really nice, for instance) but change the entire ecosystem, perhaps re-writing it in Guile Scheme... Well It's unlike to happen more than a timid POC by few smart guys...
Isn't Unix entirely about modularity?
And I suppose you could argue that emacs is a (os like) substrate that enables modularity on top of it. Theres an old joke, emacs is a nice OS, only lacking a decent text editor.
Or are you referring to the actual code itself?
Emacs as a computing environment is remarkably consistent across platforms. Say you write code, commit to a git repository, and run shell-like commands. Your Windows computer will look exactly like your Linux box if you use Emacs with magit and eshell for those operations. I personally kind of fell out of using a lot of Emacs's extras, and am constantly cursing the inconsistency between platforms.
But, to some extent, Emacs has failed even in that regard by depending a little too much on the host OS. As far as I can tell, there is no binary I can download for Windows that will let Emacs spell check anymore; the last time someone compiled aspell was in the early 2000s and the latest version of Emacs explicitly checks for that binary and tells you you can't use it, providing no alternative. The failure is not in packaging this for Windows, of course, but rather in allowing the OS to provide the spell checker. That should just be a lisp package! But alas, it is not. (You will also find this in other things. M-x rgrep is a favorite of mine on Unix-like systems. But on Windows, find.exe is not quite the "find" that find | grep is looking for, and it's kind of a pain to get your path setup to find the Unix version of find while in Emacs, and still let native windows programs get find.exe included with Windows.)
However, for those ambitious enough to decide to implement the functionality in pure Lisp... you get "write once run anywhere" which is quite enjoyable. (And was a thing before anyone ever coined the phrase "write once, run anywhere".)
Emacs bring the idea that there is no real distinction between application, OS, data whatever, we need a completely integrated computing environment that act "uno animo" easy bent and build for anyone by anyone. This works really well, but in academia, so in a super-slowly evolving environment because the level of complexity needed to realize such idea in practice is so high that's demand decades only to create a desktop... That's why Emacs while keep evolving and even after decades it's still on the scene, it shine or better as someone say it outshine other software like the sun outshine night stars, but it suffer it's own architecture being nearly unable to really radically evolve...
I hope for a distant future with a GuixSD OS, perhaps based on Plan9 (more interest IMO than Hurd), that boot directly into Emacs instead of a shell and anything is done with Guile Scheme so I can really see and use a LispMachine in the present (future) but it's a dream I do not really think it can ever arrive...
You can do SHELL-COMMAND-ON-REGION (M-|) and get the output in the echo area.
> Isn't Unix entirely about modularity?
No, unix goal is to provide a minimal "platform" that third party software may use as a "detached" base and interoperate via a simple, small and common IPC mechanism. Unix is essentially like a wagon to support any kind of boxes/pallets.
LispM, Alto workstations, ITS, Emacs do the opposite: the OS must not be for them a platform with a very basic set of API/IPC any software can use but a sole, single, integrated environment in witch any software live inside like a complex machine.
Unix was a success being simple because at that time using "unix-hater's OSes" was expensive, hard, to a point that you are totally tied to specific hw and you have to know many things to develop even a super-simple software. After however unix prove to be unable to evolve. Third party "giant frameworks" became a common thing, X with it libs etc is the most common example. Basic subset of functions and IPC can't compensate.
We do not develop ANYTHING serious anymore after that, Plan9 was probably the last tentative but never get completed enough...
I consider actual Emacs such as a small way to keep LispM alive, that suffer enormous limitation of not having hardware, bootloader a kernel to be a real OS however in today's tech status it offer the best way to operate on a desktop: everything is integrated through the most common things we know, text. It's status prove that idea is valid but so complex to accomplish completely that's practically failed. We simply can't sustain economically a LispMachine today.
Hope to be more clear now...
To borrow your analogy. Pallet/shipping containers are modular(they won). Individual boxes and container ships, less so.
I can get behind that. I'm not sure that's the absolute best way.
Although as I write this, I'm reminded of the web browser I'm writing it in. Is it not more emacs than emacs?
So we do not have now nothing that can really work at a scale only various horrid, hard to maintain and future-less hybrid solutions like Windows, GNU/Linux, AiX, HP_UX, True64, ... ...
On today's web no it't certainly nothing like Emacs. In Emacs YOU have the full control of your environment, in modern web you only think to have a certain control but in the reality you are a powerless puppet of few giants companies...
The sole similarity is the concept of hypertext itself that offer a kind of integration similar to Emacs one, but it's similar at a very superficial level because in Emacs it's integrated anything, not only the presentation level. In Emacs you can modify your software at runtime during normal use, not only link/integrate any text around your documents :-)
Can't find the newsgroup url yet. But still it seems that we are far from peak even 30 years after these systems died.
There's a smalltalk/pharo mooc online, it was also pretty telling how a single system can offer cohesiveness and peace of mind. I'm not extremist against unix way of things but it's a duty to try other systems (maybe oberon, or even amiga os) to see what can be done differently. Otherwise we live in a local optimum blur.
However, for a rare circumstance my first computer was a decommissioned SGI O₂ donated by family friend so I have the privilege of having use SGI CDE as my first desktop environment and growing up I see how much we lost, even in PC case vs what I call "normal" well designed case with easy access and proper components and cables pass layout...
That's the way of the world, things wave off, we follow along, unix won, wintel won, but that doesn't mean they were absolutely better, nor that we can't bring other good stuff from the past. We just have to keep an open mind.
Not much. IceWM was already ahead of MWM, and Synaptic was almost a clone of the SGI graphical package manager. I mean, DFM and IceWM were good enough. No vector icons, but the usability was many times better than you think. CDE was overrated. MS inverted LOADS of money in order to generate an easy interface. The W95 one is basically a clean TWM iconbar one. And no one realized that that setup was many times better than Windows 3.1 . A shame.
Well I still feel the miss of Irix TODAY even if I never really know it nor really used it. When I first arrive to Solaris (CDE) I feel the same stability and power sensation that I was feeling on Irix and I lost this sensation with OpenSolaris. I still miss it. really.
Even now with EXWM and NixOS as bootloader I still miss "a damn usable OS"...
Alpine and MUTT support IMAP just fine. Even s-nail supports it.
I'm at home now with my mix however even if it works really well and far better than any other things I tried it's still too complex for many people and that's not good because we need to attract young people to keep and feed the community instead of having all drooling behind the latest web(cr)app from one of the few supergiants...
Sometimes I do some talks about GNU/Linux mostly at my ex university and high school, normally people see a bit astonished and attracted my "dancing screen" with Emacs, they are willing to replicate at least part of my setup, they are willing to learn. But too many simply try and after few time quit in frustration because it's simply too long and complex for them.
Of course I know that good things can hardly be "for everyone" but we can provide better defaults. I've tried to give a sanitize personal config, it was a regular failure because few MELPA packages randomly disappear or fail to being properly auto-installed. I end up to give pre-made tarballs with a quick linking script and certainly that's not much a good business card especially if there are more and more few teachers that teach FOSS stuff and more and more books and lecture note that feel NO shame in suggesting proprietary software...
Not to say it didn't, or that it wasn't a problem for the author, but he's exaggerating a bit when he says it flickered all the time.
> The amount of flicker you actually see depends on things like whether redisplay optimized the last update, your video driver, and the purity of your soul.
I have far more annoying problems with floating windows and casual (newly introduced) bug that "lost" my physical screen size forcing to restart X to recover...
https://news.ycombinator.com/item?id=12830206
And for anyone else using Emacs on a Mac:
1. I use the plain vanilla GNU Emacs from here: https://emacsformacosx.com/. It does flicker from time to time, but it doesn't bother me.
2. Some Mac users seem to prefer this: https://www.emacswiki.org/emacs/EmacsForMacOS It's supposed to be flicker-free, among other things, but doesn't play well with MacOS native fullscreen (which I like), at least the last time I tried it.
Choice of platform aside, good article.
(It even works in emacs! https://i.imgur.com/NHI7Hh2.png)
Would love to know if anyone has a good terminal solution for emacs, (ideally kickingvegas' blink.sh/mosh + tmux) ... I returned to XWindows via WSL (Ubuntu 18.04) + VcXsrv for emacs daily use.
Any idea why this might be (I’d be curious if that was to be expected re how mosh works or whether it might be fixable) and alternatively how I can work around it (instead of fetching the content from a web page via the remote server?).
This is a common misunderstanding: a serious Emacs setup will use multiple modifiers (in my case, I need at least Shift, Control, Meta/Alt and Super, preferably also Hyper). My Mac's command key is mapped to Super in my native Emacs. My Emacs as an IDE is basically unusable without the Super modifier. As there is no way to get the additional modifiers through Blink, this is a non-starter. Additionally, the terminal is a bit too slow, and there are a number of other issues (for example, remapping CapsLock to Control kind of works, but there is a small delay, so you get missed keystrokes sometimes).
So, while I use and love Blink, it does not help with Emacs at all.
Meta and Alt are two separate modifiers, so if you get a JIS Japanese layout keyboard (QWERTY with extra modifiers), you can have Alt as a separate modifier, at least in X11, which has enough mod bits (mod1 through mod5) to cover everything. Handy for quick input of APL, Greek, etc. Unicode characters.
I thought that was impossible anyway, given Apple's prohibitions on both GPL code and software runtimes in iOS apps? However I suppose Emacs could be sideloaded onto jailbroken iPads.
I can run any software I want on my iPad. No need to jailbreak. Just get Xcode and enjoy the freedom. Who said I need to upload it to the App Store?
(as a side note, these prohibitions seem to have been relaxed in recent years)
Honestly even if I dream such kind of devices I know rational that I will not really need them: I work/live in fixed place, I do not want to be nomad (well, If being nomad means with a starship around the universe maybe but not in the way I can have now), I do not want to "work from a beach" or on top of a mounting after a good climbing trip. I consider such model as modern slavery vested with a dummy shiny dress...
I'm a person, not a Ford-model human robot that voluntary tie myself to a device controlled by it's vendor.
Consider that on desktop I live in Emacs, I live with a keyboard (and struggle to find one modern that can really properly replace my ancient Sun type 6 with backlit as a bonus...).
My Android usage is simply:
- GPS when I travel
- mobile quick mail surveillance, not for writing only just to see incoming messages
- make/answer phone calls
- casual SMS usage
- casual reading of grocery list or similar notes (Orgzly)
nothing more. I can't imaging writing a mail, not even code with a touch crappyboard!!!
I've found that using Hacker's Keyboard conforms my muscle memory and lets me use a touch keyboard faster than I would otherwise be able to. It seems not everybody benefits from this.
When you say "most people still use PCs" like PCs was an obsolete thing makes me shiver. For me desktops are the center of our digital life and mobile crap are only an experiment to make anybody slave of few services that's somehow succeed but it's of course doomed to fails like "netbooks" in the past.
Unlike netbooks, which were underpowered laptops released ahead of their time, mobile devices have already hit their critical mass of users. Kids grow up with phones and tablets instead of computers, on average, which makes real computers a much scarier and less interesting proposition.
On education: personally I was taught a bit of unix at first even if my first computer came late (around 13/14 years old) and that's give me in very few time a set of skills I do not see even in many colleagues after years of professional work. Myself I learnt many thing in a very long time simply because I discover them casually and nobody help/taught me anything or nearly anything on them. Long story short: if we have proper school development of certain skills or at least a certain forma mentis/paradigma start to be easy and quick and pay off enormously during the entire rest of the life.
Of course I do not expect a phantasmagorical society formed entirely by PhDs and MDs but I certainly do expect a far different society with benefit for all of its components. The lack of competence and skill we observe these days, coupled with unemployment rates depict a clear scenario about that.
We have less and less competent people, we actually encourage people to be incompetent (like "hey coding at schools to forms legions of code monkeys able perhaps to write a hello world) saying the contrary, we obstacle due to the architecture of the schools, society, companies etc skilled people to express, cultivate and grow their potential and as a results we do not know how to evolve anymore.
We produce more and more crap, we have many companies more and more dependent on few, typically aging "consultants" the few that still know how to work etc.
That's can't last in the medium/long term and recovery is super-difficult and super-long.
Maybe the only thing we can be grateful about is that it takes less to be on top(+)?
+: Of course, I know I'm certainly not on top, especially looking at some of the really impressive Show HNs that I see quite often, but compared to the people who I work with and the people around me in real life it doesn't take as much as you would think to be the best among them.
I fear this future because while takes less to be on top we do not live to race, with live to live. We are not autonomous, we need society, other expertise and work and that's pose a super-big problem even egoistically for us. Not even counting for our society at a whole and for future generations...
The best quote in this article.
Also, it has to support terminals and various OSs, so it's not like it's only the matter of slapping a graphical UI on it.
https://tvraman.github.io/emacspeak/applications.html
Your reality and bullshit applications such as Electron based bloatwares are a bad joke against disabled people.
I didn't know this. For sure GUI are useless for persons with significant visual impairment. Thumbs up for Emacs developers for helping people in need.
> Your reality and bullshit applications such as Electron based bloatwares are a bad joke against disabled people.
"Electron" apps are not my reality. I didn't know what it is (until now).
Emacs might actually get away with switching to CUA, it's already halfway there - you're always in "insert mode" and use Ctrl/Alt+letter for advanced operations. But rejiggering Emacs's shortcuts will alienate current users while probably not attracting many new ones. This is always a problem for a minority-use product - your users don't want to use "standard" software for whatever reason and just blindly chasing the majority will have you fall between two stools. Vi(m) probably can't be built around CUA principles. Its modal editing language is completely alien to what CUA is and while you can add a few bespoke shortcuts (I used to have ctrl+s for save), they usually stick out like a sore thumb (I switched to <leader>s because it was more natural). I would love to see someone try though, it might work out.
For the second point, I'm inclined to agree that we should be able to show information in a better way than a pure text buffer on screen. There are neovim shells built around Electron which I'm keeping an eye on, because those should allow for rich GUI controls to be easily created. Though it might actually be better to adopt something like Tk in vimscript to give plugins a very simple way of showing GUI components.
Parent was very rude, but they do raise the correct point that our editors were built in a different time and we could adopt modern principles to make them better. VSCode is probably this generation's Emacs.
In my opinion original blog post quite clearly point out what is wrong with "backbone" on Emacs.
> Asooka 1 day ago | parent | on: Buttery smooth Emacs (2016) > >I would also like to know what exactly you mean.
By requiring to give concrete examples you two gave me good reason to rethink my point.
> 1) non-standard shortcuts, i.e. not implementing CUA;
When I was writing my post I had in back of my head this well known feeling of frustration when struggling to do simplest thing I have to read vim help for 10 minutes or google random forums. It may be that most of it is due to intermittent use of both those editors and "muscle memory" from MS Office and alike. If new users are required to stop using their most common (good or bad) habits it reduce potential user base at least 100 times. I work in typical large office (everyone 95% of time do some kind of text editing) and nobody know what or use vim or Emacs. Maybe it would be better idea to "stupefy" those great editors for default install for new users and allow current users to easily revert "normal" settings. CUA mode in Emacs looks interesting, I will give it a try.
> Parent was very rude (...)
Really? Very rude??? I'm wondering why reaction to my comment was so harsh... It seems that Emacs users have really soft skin ;-)
—-
The idea of an old architecture can still hack to work explain the genius of chinese in china. Living in a modern worl with all those new idea like democracy and free trade on the last 30 years or 200 years, you can still live and intermix whilst creating genetic modified baby and reedy are 1 million people in concentration camp at etc. I think Emacs could be a good model of understanding how old meet new, how one (worldview) beats the Multiverse we are in.
—-
Just need to sell emacs to African or Facebook to use the same old and successful model.