Scrolling PDFs In Other Windows

Marcin Borkowski (mbork) has a useful post on scrolling PDFs in the other window. He wants to use the familiar Ctrl+Meta+v and Ctrl+Meta+Shift+v shortcuts for pdf-tools. Sadly, these don’t work for scrolling PDFs but as mbork says, “… [I]t’s Emacs, so it shouldn’t be difficult…”. And, indeed, it isn’t.

His idea is simple. If the buffer in the other window isn’t a PDF, return nil. Otherwise simply call pdf-view-scroll-up-or-next-page or pdf-view-scroll-down-or-previous-page. Finally, he simply advises scroll-other-window and scroll-other-window-down to run his code first and skip the normal code unless his code returns nil. Take a look at his post for the code. As I said, it’s easy to understand.

The important takeaway from this, according to mbork, is how easy and understandable the solution is. The lesson, as it often is, is that if Emacs isn’t doing what you need, it’s usually pretty easy to make it do so.

Posted in General | Tagged | Leave a comment

The World’s Most Recognized English Word

A short test of your intuition: what’s the most recognized English word in the world? There are, of course, a bunch of words that everybody know in every language: please, thank you, bathroom… but this is an English word that everyone knows. Give up? The word is “OK”. I’m always sort of surprised when I see it in non-English text but most languages have made it their own.

That’s pretty amazing but the most amazing thing about the word is that it was originally a joke. Although many of us might consider the hacker love of word play a relatively modern phenomenon, it’s actually a long standing tradition, at least in English. The story of that joke is a bit long and complicated so you should follow the above link to discover all the details, including why it survived in the language while similar locutions did not.

Finally, despite what your fifth grade English teacher, Miss Frump, may have told you, the correct spelling is “OK”, not “okay” and not “ok”. That will make sense to you when you discover its origin.

I love this kind of thing but it is, after all, a well established aspect of the hacker culture. If nothing else, you can astound your parents and normie friends with this piece of arcana.

Posted in General | Leave a comment

Dired Flat File Listings

It turns out that if you call Dired from Elisp, you can pass it a list of files to display. Protesilaos Stavrou (Prot) leveraged that fact to write a bit of Elisp that provides him with a flat list of files matching a regular expression in a specified directory structure. His post has the code so you can see how he did it but it’s mostly what you’d expect: after some setup, he calls directory-file-recursively to gather the list of files that he then passes on to Dired.

It’s a pretty nice system but after using it for a while, Prot realized that when he was dealing with large directories a bit of initial filtering of the most recently modified files would be useful. He solved that by adapting his previous code to do the filtering. He does it by taking the list of files from his first function and running them through seq-filter to get the files he’s interested in. Again, all the code is in his post but Prot says he won’t be updating the post so you should check out his configuration for the latest version.

If you frequently generate Dired listings and would prefer to deal with a flat list of the files without worrying about what directory they’re in, take a look at Prot’s post for an excellent solution.

Update [2026-06-15 Mon 10:06]: Fixed link to Prot’s post.

Posted in General | Tagged | Leave a comment

Your Digital Inheritance

As you most of you know, I live a digital life. That doesn’t mean I have no existence outside the Internet or that I don’t have real life friends and loved ones. It simply means that almost all my transactions and non-face-to-face communications happen digitally. It also means that almost all of my personal information is stored online. As I’ve written before, even though we think we’re going to live forever, we probably won’t so it’s important that we arrange to have all that online data available to our survivors.

Than can be complicated because there are privacy concerns involved and many online services won’t release the data without prior authorization. Of course, it’s a hassle to arrange that authorization for all your accounts and you’ll probably forget some, even if you try. The better strategy is to provide your survivors with your log on credentials so that they can access whatever data they need.

A recent SANS Ouch! newsletter offers a few suggestions for handling the problem. The most useful, in my opinion is to keep all your logins in a Password Manager and to choose a person to entrust with access to the logins. That’s what I’ve done and I’ve made it an addendum to my will.

All this is not something that most of us want to think about but it is important that our families have the necessary data to continue their lives even if that means only having access to pictures of us for remembrance.

Posted in General | Tagged | Leave a comment

AsciiDoc In Emacs

Bozhidar Batsov has a post announcing a couple of new Emacs modes for AsciiDoc. In the usual Batsov way, he’s significantly improved the support for AsciiDoc in Emacs. He loves AsciiDoc but found it hard to use in Emacs because the support was so bad.

I’ve never used AsciiDoc so I don’t know why Batsov prefers it to Org mode. Org mode can be and has been used to produce first class technical documentation. If needed, it can bring to bear all the power of LaTeX to produce a polished product.

As far as I can see, the only reason not to use Org mode is because you’re not an Emacs user or are collaborating on a document with someone who isn’t. It offers everything you’re apt to need short of bringing in a heavyweight dedicated document preparation system. I’m sure Irreal readers not as ignorant as I about the situation can tell us why we should prefer AsciiDoc. Our lines are open.

If you are an AsciiDoc user, Batsov’s two new modes are sure to be a blessing. The update to adoc-mode is designed to work with all versions of Emacs and updates the regex-based font-locking to the current AsciiDoc grammar. It’s perfect for an AsciiDoc user who’s running an older version of Emacs. Asciidoc-mode is the more modern solution using tree-sitter to handle things like font-locking but it only runs on Emacs 30.1+.

Take a look at Batsov’s post for the details on the two modes. And if you know why an Org mode user should care, leave a comment.

Posted in General | Tagged | Leave a comment

An Emacs Based Writerdeck

If you follow writers at all, you’ll have noticed that many prefer to write their prose in long hand even if they began their writing career with a computer. Tess Gerretsen and Neal Stephenson are two examples that come to mind. Both are serious, established writers who have no need for performative resistance to computers. Indeed, they both use computers to produce the final manuscript. They say they write in longhand to slow things down or to avoid premature editing.

I understand their urge but could never work that way. Writing by hand is excruciatingly slow and even painful to me. I didn’t start writing a lot until I got a computer and could do it without so much effort and discomfort. A middle ground is what’s often called a “writerdeck”. The idea is that it’s a device that’s completely dedicated to writing and is as simple as possible.

Chris Maiorana wrote an article that argued a pad and pen is the ultimate writedeck. I reject that for the reasons I stated above. Maiorana recognizes that often a computer is a good idea and has an article that describes building his own writerdeck. He wanted something free or cheap so he used a Raspberry Pi 4 that he had lying around, put Linux and Emacs on it, and restricted it to text mode. Later he added a few utilities such as Git but it remains a text only machine dedicated to writing with Emacs. Maiorana considers it the “maximum digital minimalism” but I’m more inclined to think of it as a minimal acceptable writing environment.

I don’t do social media other than Irreal, if you consider that social media, so I have no difficulty concentrating on my writing while using my everyday laptop. Not everybody is like that, of course, so if you find it’s hard to resist doom scrolling while you’re supposed to be writing, you may want to take a look at Maiorana’s post on his writerdeck.

Posted in General | Tagged , | Leave a comment

Emacs In Pop Culture

Ian Pan has curated a nice collection of Emacs caught in the wild. By “in the wild” I mean “in popular culture”: things like movies and comics. Most of us have seen the familiar scene from Tron but Pan has a bunch of others.

One example is the famous scene from Silicon Valley in which Richie and Winnie start arguing about Tabs versus Spaces and end up discovering that one is a Vim user and the other an Emacs user. I’ve seen that scene many times but didn’t realize where it came from so I learned something new from his post.

The other surprising thing—to me—is that Emacs also makes appearances in comics. What’s interesting is that you rarely see any editor other than Emacs or Vi(m) mentioned outside geek circles. Perhaps the current cohort of hackers will change that and we’ll start seeing references to VS Code. Or maybe not. VS Code does have a lot of users but I haven’t seen the same culture grow up around it. We’ll see.

Posted in General | Tagged | Leave a comment

The First Wireless Telephone

A short quiz in two parts for you:

  1. When was the first wireless telephone invented?
  2. Who invented it?

The answers are surprising and not at all what you might have expected. If you’re like me, something involving radio is probably popping into your mind. But that’s entirely wrong. The first wireless phone used light—actually reflected sunlight—to carry the signal. You’ve probably heard of the technology. Back before computers, young nerds used to experiment with light-based phones (you could even buy kits). They were not, of course, terribly useful because of their limited range and line of site requirement, but they did see use in World Wars I and II as a secure alternative to radios for short range communications. And, of course, the idea forms the basis of today’s ubiquitous fiber optics cable.

When was it invented? That’s one if the surprises. It was in 1880 a decade and a half before radio communication was first demonstrated. That should give you a hint as to the inventor. It was Alexander Graham Bell, the (widely accepted) inventor of the conventional telephone. It’s design is described in the linked post. Bell named his invention the photophone and was more proud of it than the enduring invention for which he is famous.

A final amusing anecdote was that Bell wanted to name his daughter Photophone but fortunately for the girl, her mother prevailed and she was named Marian.

Posted in General | Tagged | Leave a comment

Elfeed 4.0.0

Daniel Mendler, who took over as maintainer of the world’s best RSS reader, Elfeed, has announced the release of Elfeed 4.0.0. You can read the Change File to see what’s new but the most important point for me is that the maintainership of Elfeed has successfully transitioned from Chris Wellons to Mendler.

When Wellons announced his retirement from the Emacs ecosphere, I, and I’m sure others, had a moment of apprehension. We all wondered if anyone could fill Wellons’ large shoes. I’m happy to say that Mendler has shown himself up to the task and is doing a great job moving Elfeed forward.

As I’ve said before, I consider Elfeed an almost perfect RSS reader. It’s easy to configure it to operate the way you need it to. One of Mendler’s changes that I really like is the ability to pop into EWW if you need to. I use it from the default Elfeed text buffer but also from the WebKit mediated display if there are too many ads and blinkenlights on the default page. As I’ve said before, I have a growing appreciation of EWW and am a bit surprised to find it becoming one of my go to tools.

The important point, though, is that if you’re an Emacs user who has an RSS feed, you should definitely try out Elfeed. You won’t, believe me, want to go back.

Posted in General | Tagged | Leave a comment

Correcting The Orientation of macOS Photos on Linux

JTR over at The Art Of Not Asking Why describes a problem—and its resolution—that I didn’t know existed. The TL;DR is that photographs taken with an iPhone are always captured in landscape mode but Apple’s software detects portrait photos and corrects the orientation on the fly.

That leads to the problem: when iPhone portrait mode photos are shown on Linux using Org mode they are shown in landscape mode. You can get the details from JTR’s post.

The fix is pretty easy. He uses the mogrify tool of ImageMagick to auto-orient the photos based on their EXIF data. Since he’s viewing these photos in Org mode he wants an easy way of making the conversion from within Emacs. That’s a perfect job for Álvaro Ramírez’s dwim-shell-command, which JTR uses.

Take a look at the code and see how simple it is. Even if you aren’t an Elisp expert, it’s easy to do things like this with dwim-shell-command right from Emacs.

Posted in General | Tagged , | Leave a comment