A Small Git Improvement For Elisp Files

James Cherti has a quick tip on configuring Git to provide more meaningful diffs for Elisp files. The problem, he says, is that by default Git diffs simply provide a line-by-line difference with no added context such as what functions are involved. It turns out that it’s pretty easy to provide that context.

The process is pretty simple. First you have to provide a regular expression that recognizes the various def constructs such as defun and defmacro. Then you tell Git to associate that regex with Elisp files. After doing that, you get a bit more context in your Git diffs.

Take a look at Cherti’s post for the details. It’s a small thing but easy to do and it may make your change analysis a bit easier.

Posted in General | Tagged , | Leave a comment

Emacs For Non-Programmers

MarchZealousideal543 over at the Emacs subreddit asks a familiar question: Is it really feasible or even possible for a non-programmer to use Emacs productively? I know I write about this a lot but I find the subject fascinating. MarchZealousideal543 got steered onto Emacs by asking some AI for suggestions and apparently Emacs was the overwhelming recommendation.

There’s nothing very interesting about such questions, of course; the interest is in the comments. There’s the usual ankle biting and nonsense but a lot of the comments are excellent and tell stories of how people from all walks of life—even someone in construction—use Emacs to run their lives, careers, or businesses.

The one thing that many of them say, though, is that you should expect to spend a few weeks getting up to speed with Emacs. Those of us who have been using Emacs for decades and still consider ourselves barely up to speed can only smile. Nevertheless, they all say that the startup time is worth it and that you will soon become proficient.

The other story that came up more than once was how the secretaries at the MIT were introduced to Emacs and given a small write up on how to configure it. Because they didn’t realize they were programming, they soon were soon automating their workflows.

If, like me, you like reading about non-technical people using Emacs, take a look at this reddit post.

Posted in General | Tagged | Leave a comment

Searching The Web With Emacs

If you’re one of those brave folks who doesn’t mind browsing the Web from within Emacs, I just came across a package that may interest you. It’s emacs-websearch a small utility that lets you specify a term, search for it on the web, choose one of the results, and open that page in your Emacs.

That may sound a little complicated but take a look at the animated GIF at the link. It seems like a pretty nice workflow. Right now, it supports Duck Duck Go and Google but looking at the code, it would be easy to add your favorite. You can choose between using the xwidget toolkit and eaf-open-browser to display the Web page.

This is one of those small packages that mainly scratches the author’s itch but can still be useful to the rest of us. Take a look and see if it might work for you.

Posted in General | Tagged | Leave a comment

Accessing Research You Already Paid For

A long standing source of frustration in the research community has been the locking of research papers behind paywalls. It’s easy to see how detrimental this is to the scientific research enterprise. After all, the purpose of publishing papers is to share the research results among the greater scientific community.

For all of my adult life—and probably longer, maybe even forever—the research behind these papers have been paid for by the government. In modern times, that means you and me. So here’s the consequence: we pay for the research but can’t read the results of that research unless we want to pay substantial fees to the publishers of the associated papers.

You can easily see the problem from the publishers point of view. It’s an existential threat. If the papers were made available without charge, why would anyone (or more specifically, any institution) pay thousands of dollars a year for access to the journals? The journals argue that they do provide added value. They perform curation, editing, and perhaps most importantly, peer revue of the papers.

But here’s the thing. Except for some in-house copy editors, they don’t pay anything for those efforts. They’re all considered necessary public service on the part of academics. So all of that “added value” can be and is provided for open access, on-line journals. Really, the only reason that paid, dead tree journals continue to exist is academic tradition. The journals have always played a huge role in tenure and promotion decisions in academia and many can’t imagine any other way of doing business.

Regardless, for research funded by the US National Institutes of Health, at least, the journal monopoly is coming to an end. Effective July 1, 2025, the results of all NIH supported research will be available without charge. This is a slight acceleration of the previous policy that required public availability by December 31, 2025, but it serves as notice that this long standing rip off of the public will no longer be tolerated.

Of course, research not funded by the government—if there is any—is not affected but it’s hard to imagine there’s enough of it to make it worthwhile to keep charging for it. Maybe the journals will find a way to reconfigure their business model or maybe they’ll simply go out of business. Either way, we’ll be better off. These days, it’s easy to publish on line and for those who want curated papers, there are already open access sites providing that service.

Posted in General | Tagged | Leave a comment

🥩 Red Meet Friday: Parenthesis: Get Over It Already

As you almost certainly know, we here at Irreal have little patience for those constantly whining about parentheses in Lisp. They seem to us like little kids complaining to Mom that “it’s not fair”. Apparently, we’re not the only ones. Joe Marshal, who I’ve mentioned before, is an old time Lisper—so old timey that he worked on the firmware for one of the actual Lisp machines—who also doesn’t have a lot of patience for the whining.

He settled on a unique solution. He asked his AI client, Gemini, to write a rant for him. I have to admit, as much as I dismiss the current AI craze as voodoo, the rant was probably better than I could have written. If you, too, are tired of the jejune whimpering from the ignorati, take a look at Marshall’s post for some well earned relief.

Maybe we can enlist an army of these AIs to beat the whiners into submission or at least into complaining about something else. The Illuminati maybe.

Posted in General | Tagged , | Leave a comment

Journelly!

Hooray. Journelly, which I think of as an iOS front end for Emacs’ Org mode, has been officially released. For those of you who have been waiting for an official release to try it out, your time has come.

I’ve been using this app everyday for the last month and even though I was working with a beta, it has been rock solid. I really, really like this app and recommend that everyone try it out. It’s $14.99 but let me assure you that it’s worth every penny.

One of the things that I haven’t mentioned in my posts about it is that there’s seamless syncing of your data. No third party apps or difficult configuration. You simply specify that you want to sync your data to iCloud and it’s instantly available to Org mode on your Mac and the rest of your iOS devices. Exactly what we expect, but seldom get from apps that interface between iOS and Emacs. Ramírez says that exporting to Markdown is on his todo list so even if you aren’t—for some reason—an Org mode user, he’s got you covered.

This is the first app that I’ve bought for a long time but I’m happy to spend the money. Journelly has become an important part of my workflow.

Posted in General | Tagged | Leave a comment

Preventing Minor Modes From Appearing On The Mode Line

The Emacs mode line contains a wealth of information, much of which I depend on daily. Some of that information is what the major mode is and what minor modes are active. Again, that’s often useful information. Still, there are plenty of minor modes that I don’t care about, either because they’re always enabled or because they simply don’t matter to my workflow.

For a long time, the standard way of dealing with that was the diminish command that would prevent a given minor mode from appearing on the mode line. The problem was that it sometimes didn’t work and, at least in my experience, every update of a package would reset the diminish function to off for that mode.

Relief is finally—or at least will be—here. Coming in Emacs 31 is mode-line-collapse-minor-modes. The idea is that you will list in a single variable those minor modes you don’t want to appear on the mode line or, optionally, those you do. By default those modes excluded are represented by a single ... on the mode line. You can click on that to see a list of the hidden modes.

As I’ve said before, I usually have two side-by-side windows in a single Emacs frame. That means that there’s not a lot of room on my mode line so getting rid of less important information is essential to me. Diminish has worked reasonably well for that but I’ll be glad to have a simpler way of handling the problem. Emacs 31 is still sometime away but it’s something to look forward to.

Posted in General | Tagged | Leave a comment

Scrim Released

A couple of weeks ago, I wrote about Charles Choi’s Scrim beta. Scrim is an app that makes the Org Protocol work in macOS. The problem, as Choi explains is that Org Protocol depends on calling emacsclient to deliver the messages to Emacs. Unfortunately, this became impossible when Apple started sandboxing applications for security reasons.

Choi is a huge fan of Org Protocol so he he wrote Scrim to act as a native macOS client for Emacs server. That gets around the sandboxing and allows Org Protocol to work on macOS. Scrim is now available on the on the App store by itself or as a bundle with the related app Captee that allows sharing links from other applications via the share menu.

I’ve tried using Org Protocol before but could never get it to work. Now I understand why. If you too have tried and failed to get Org Protocol working, you can get Scrim and Captee for $7.99. That’s a very reasonable price and since the two apps scratch one of Choi’s itches, it’s very likely that they’ll be maintained on an ongoing basis.

Take a look at Choi’s announcement to see if Scrim might be helpful to you.

Posted in General | Tagged , | Leave a comment

JTR’s Month With Journelly

It’s been about a month since JTR (over at TAONAW) and I started using Journelly. Although it’s still in beta—but approaching its release date—I’ve nevertheless come to rely on it for my memo book. It’s smooth integration with Org mode and Emacs makes it a natural iOS front end for Org and a perfect fit for my memo book. Keeping its file in Org format and syncing it to my Mac make it really easy to integrate it into my Emacs workflow.

JTR has a post reporting on his own experience with using Journelly over the last month. Like me, he’s settled into using Journelly as part of his day-to-day work and depends on it even though it’s still beta software. As I discussed the last time I wrote about JTR and his use of Journelly, he uses it as a staging area for his other Org files. That appears to be working well for him and he’s been refining his workflow as he gains experience with the app.

One of his major concerns is dealing with the photos that he adds to the entries. He likes to tweak them in various ways such as reducing their resolution and sometimes even editing the photo itself. Happily, I don’t have those problems. I suppose it might happen that I need to work on a photo for some reason or another but I can do that from the comfort of my Mac.
If you’re dealing with the Journelly photos a lot, you might want to read about how JTR deals with the fact that Journelly names them with unique IDs that give no clue as to what the photo is of. The TL;DR is that he uses Dired thumbnails to see what each picture is about. The photos are kept in a separate file so it’s easy to display the thumbnails in Dired.

As I’ve said before, Journelly can adapt itself to a variety of workflows so it’s worth your while to read about as many of them as you can. Take a look at JTR’s post to see one of those workflows.

Update [2025-04-29 Tue 13:06]: In a subsequent post JTR writes a bit more about how he handles pictures in Journelly.

Posted in General | Tagged | Leave a comment

Digital Life Update

It’s been a while since my last post on living the digital life. For those of you just joining the conversation, I’m several years in on trying to live a digital life, by which I mean giving up pens and paper, recording all my records electronically, and enacting all my business digitally. My touchstone for how I know when I’ve achieved this is to be able to leave home with nothing but my iPhone. That means, among other things, no credit cards, no driver’s license, and no house or car keys. Other than my license and car keys, I’m pretty much there. Who knows, maybe Florida will get its act together before I die and I’ll be able to stop carrying a paper license.

In the meantime, the technical world has been moving on and cell phones are no longer the only feasible way staying connected remotely. Devices like the iWatch can now do much of what we previously relied on smart phones for. When the iWatch was first announced, it depended on an associated iPhone for most of its capabilities.

That’s no longer the case. The iWatch and its Android brethren now operate independently and can form the basis of our remote digital lifeline. It’s possible, as this article suggests, that modern e-watches can do most of what we’ve been depending on smart phones for.

After more than 20 years of not wearing watch—I had an iPhone that told me the time and much more; why would I need a watch—I recently got an iWatch to help track my health. I was surprised at how flexible it is. I can use it in place of credit cards, can control my Smart Home functions with it (including unlocking my door), can track my appointments, can receive and respond to texts, and can even make and answer phone calls.

That raises the question of whether the iWatch will replace my iPhone as my go to remote device. I don’t think so. I use the iWatch if in my phone is in my pocket and it’s easier to just use my iWatch but I mostly depend on my iPhone and keep it with me all the time. But who knows? Maybe we really will wear our digital interface on our wrists. What are you guys doing?

Posted in General | Tagged | Leave a comment