Red Meat Friday: Take That, Neovim

Posted in General | Tagged , | Leave a comment

Bozhidar Batsov Revists “Why Emacs”

Ten years ago, Bozhidar Batsov wrote a post entitled Why Emacs. It was a short essay on why he used Emacs, what was good about it, and what its shortcomings were. Ten years later, Batsov, like most of us, is a different person doing a different job.

Back then he was a programmer, mostly concerned with writing code but also writing a blog, (think), that he also wrote in Emacs so he could be said to be using Emacs for most of his text editing needs. These days he’s moved into management and no longer spends much time coding except for his OSS projects and the majority of his prose is written in Slack and Google Docs.

Still, Batsov continues to love Emacs and be one of the most prominant evangelists for it. He’s just written a retrospective on his post, Why Emacs: Redux. A lot of things haven’t changed: Emacs (and Vim) are still the premier way of editing text and Emacs’ extensibility is still unrivaled and the thing that sets it apart.

On the other hand, Emacs has not stood still. It has more packages than ever, it has rudimentary multithreading, a builtin JSON parser, good support for LSP, and, of course, native compilation. Emacs is definitely not standing still.

All of that is true but for me the real virtue of Emacs is power. The power to efficiently edit text, the power to extend it in virtually any direction I want, and the power to make it a Lisp-Machine-like operating environment.

Take a look at both posts. They’re interesting and a reminder of why we love Emacs so much.

Posted in General | Tagged | Leave a comment

Rant: Medicare Advantage Ads

This is a U.S.-centric post that probably won’t make a lot of sense to non-American readers. It does give me a new appreciation of the National Healthcare programs that many overseas readers have, though.


You know those Medicare Advantage ads featuring has-beens? We here at the International Irreal Headquarters find them enraging and always, always, mute them. They’re dishonest from the get-go because they imply they’re representing an insurance broker when in fact they’re merely a customer finder service that will route your call to the next broker on their subscriber list. People who know about these things say that the message itself is misleading.

It was bad enough when they used an ex-football player, an ex-sitcom actor, and an ex-boxer but when they bring in Capt. Kirk, they’ve gone too far:

I don’t know what the reaction to the other ads were—as I say, they get muted and ignored immediately—but the reaction to Shatner’s appearance seemed uniformly negative with a vibe of being betrayed by Capt. Kirk. I can relate. His ads get muted too.

Posted in General | Tagged | Leave a comment

Plain Org

For us Emacers, one of the longstanding shortcomings of iOS and, to a lesser extent, the Android ecosystem is the lack of an Emacs app. There are several Org-mode centered apps that allow you to perform various Org functions on your phone and sync the results with your computer through the cloud.

Álvaro Ramírez has another offering in this space. His Plain Org app provides a nice interface to Org’s task lists on your iPhone. Take a look at his post to see some animated Gifs of the app in action.

Until we finally get a native Emacs on iOS, apps like Plain Org will get us by. In the mean time, having a decent Org app is a boon. Most of what I want to do on my phone that involves Emacs involves some sort of Org file so having a good Org implementation that syncs back to my computer’s Org file is great.

Posted in General | Tagged , | Leave a comment

Hacking y-or-n-p

Marcin Borkowski (mbork) has a short post on how to make y-or-n-p return t when the user types Return. Check his post for the details but the TL;DR is that he temporarily extends the y-or-n-p keymap to have Return return as if y had been pressed.

It’s a fairly unique requirement but his approach works for other use cases where we want to add or change a key to an existing keymap. If you have such a need, take a look at mbork’s post.

As an aside, I should mention that mbork’s new book is finished and available. I read a draft of his early chapters and thought it was well done. Take a look if you’re interested in Emacs books.

Posted in General | Tagged | Leave a comment

Editing macOS Text Fields with Emacs

If you’re like me, you hate dealing with text outside of Emacs. Even those of us who spend as much time as we can inside Emacs have to interact with other applications. In my case, that’s mostly Safari. The problem with Safari is that its architecture doesn’t allow extensions that will call Emacs to edit text fields the way, say, Firefox does.

MacOS, of course, recognizes many of the Emacs keybindings but you can do much better. For many years, I’ve used the operating system’s ability to assign keys to editing functions to install a fairly comprehensive set of Emacs editing keybindings but while that helps with muscle memory, it’s not really like editing with Emacs. I’ve long wished for a way of popping into Emacs to edit the text fields from other apps.

Now, happily, my wish has been answered. Take a look at this video by dmgerman that demonstrates his Edit with emacs Everywhere package. It provides just what you’d want: if you’re in any text field in any Mac application, you can press a key sequence to put up an Emacs buffer in which you can edit the text in the field and then return the edited text to the calling app. The important thing here is that you’re not just using Emacs keybindings but using Emacs itself with all its power. Perfect!

The package depends on Hammerspoon to mediate with the OS. It’s easy to install and, of course, is more generally useful but even if it weren’t, giving us the ability to edit all text fields with Emacs is worth the price of admission.

Posted in General | Tagged | Leave a comment

Search Hydra

If you use the Ivy/Swiper/Counsel package, you know that are a lot of ways to do searches. So many that it can hard to remember what they all are and how to invoke them. Fortunately, Yuri Tricys has come to the rescue with a hydra for searching.

Tricys is planning some follow on posts that describe a few of the functions and packages that his hydra uses. He also has a separate section for some programs to use in the Windows environment.

It’s worth taking look at his hydra if only to get some ideas for the searches you may want to make. I agree with Tricys that hydras are the ideal solution for this sort of thing. They’re easy to implement even for someone who doesn’t know Elisp. That makes them a great way for any user to create and manage their own menuing system. There’s extensive documentation for hydras at the package’s Git repository so they’re accessible to everyone.

Posted in General | Tagged | Leave a comment

Read Meat Friday: Chrome Is Not Your Friend Either

A few months ago, I noted that Google is not your friend. You’d think everyone would know this by now but apparently lots of folks don’t. As a corollary to that truism, we also have, “Chrome is not your friend either”. That’s old news too, of course, but now we have this:

Next up, Missouri and Gov. Parson will change their education website to work only with Chrome and disable viewing the HTML. Problem Solved.

Really, there are numerous reasons to not be using Chrome and this is another. Sadly, most folks who are going to get the message have already gotten it and the rest will keep right on using this abomination.

Posted in General | Tagged , | Leave a comment

Three N00b Emacs Mistakes

Derek Taylor has a video that calls out what he says are Three HUGE Mistakes New Emacs Users Make. He says that many Emacs n00bs have a hard time getting started because they make the same three basic mistakes.

The first mistake they make, he says, is treating Emacs like Vim or other editors and starting it for each file they want to edit. This is one of the first things someone moving to Emacs learns. You have to modify the way you do things. What I and many others do is start Emacs when I first login and just keep it running for the whole session. As a practical matter, that’s until I reboot the system or restart Emacs because of package updates. Taylor recommends starting Emacs in daemon mode and calling emacsclient when you want to edit a file. That’s okay but not as efficient for my workflow, especially since I do almost everything from within Emacs. In either case, you avoid the relatively long—compared to other editors—startup time.

The second mistake is using some sort of file manager to choose a file to edit. Emacs, of course, has Dired that does this and more. There’s no reason to use a separate application for file browsing especially since it leaves an unneeded application running and taking up screen real estate.

Taylor’s last piece of advice is the most controversial. He says that you shouldn’t run Emacs in terminal mode unless you’re running on a system without a GUI windowing system. Some people have very strong feelings on this question: they’re either all in for running the GUI version of Emacs or they insist that real programmers stick to terminal mode. Although I almost always run Emacs in GUI mode—because of the extra capabilities you get—I’m pretty much agnostic on the issue. I do think that the GUI offers enough benefits that you should use it in most cases but it doesn’t bother me when other folks choose to run in the terminal.

It’s an interesting video. If you’d like to watch, it’s just short of 13 and a half minutes so it should be easy to fit in.

Posted in General | Tagged | Leave a comment

Getting Closer to Walletless

Those of you who have been around Irreal for a while are aware of my quest to ditch my wallet and be able to leave my house and conduct my business with nothing but my iPhone. I am getting closer. My house has digital locks, my credit cards are in my digital wallet on my phone, and now, finally, I have a digital license.

Florida still hasn’t officially rolled out its digital license program but you can download the license app and, if you’re particularly persistent, you can get it registered and activated with the state. Doubtless the program will be completely rolled out in the next week or two. Of course, Florida law still requires that I carry my physical license when I’m driving but I expect that the law will be amended to say that the digital license suffices. As a practical matter, police officers probably won’t even ask to see your physical license because they can more easily capture your information from the digital license.

So where am I? I feel like I still need a physical credit card because there are a few recalcitrant merchants who haven’t enabled NFC and, thus, Apple Pay. So I still need to carry a license and a credit card as backup even though I can theoretically get along without them. That leaves only the car.

I’m hoping that the next car will have digital locks and ignition so that I no longer have to carry car keys. Once that happens, I will have essentially realized my ambition to have my every day carry down to my phone. In my saner moments, I recognize that this is definitely a first world problem but I view it as another step in obtaining a digital life. Really, why should we still be carrying around pieces of paper to verify information that could just as easily be provided digitally?

Posted in General | Tagged , | Leave a comment