Functions To Streamline Your Writing Workflow

Chris Maiorana has another post on streamlining your writing. I like his posts because he’s an actual writer and we can be sure that the things he recommends actually work, at least for him. His latest post is a list of specific functions and packages to make your writing easier.

I especially liked his first suggestion. I often end a sentence with a period and then realize that it’s a question and should end in a question mark. It’s easy enough to fix this of course but Maiorana offers a better way. If the point is on a punctuation mark and you type a different punctuation mark, the new mark will replace the old one.

You’d have to use this function a lot of times to amortize the time spent installing it but that’s not the point. The point is that it help to reduce your writing friction and keep you in the flow.

His next function is also something you might want if you’re writing in Org mode. It’s important for writers to have a (reasonably) accurate word count. Maiorana has a word count function specialized for Org that ignores lines beginning with # or *. I have a function like this that I wrote for Troff files when I was writing in Troff but never wrote one for Org. If for some reason I really need an accurate count I just do the same thing with a grep-wc pipeline. Still, if you write a lot in Org, this is a useful function to have.

Maiorana recommends a bunch of other functions/packages in his post so if you’re regularly writing in Org mode (or even just Emacs) you should definitely take a look at his post. There’s a lot a good suggestions in it.

Posted in General | Tagged , | Leave a comment

The UK Is Seeking A Way To Back Down On Encryption

As I reported 5 or 6 months ago, the UK decided to issue an order to Apple mandating a backdoor to all their users’ data. Apple responded by simply withdrawing their encryption services from the UK.

At the time I noted that even the US Government—despite their obvious desire for such a capability—were not amused and Congress began rattling their sabers. Lately, the Trump administration has been even more explicit in their displeasure and now, it appears, the UK Government is looking for a way to back down.

Backing down is not something any government wants to—or can even afford to—do except under the most exceptional circumstances but it appears that the UK government finds itself in just that situation. Senior government officials are saying that the Home Office has badly mismanaged the situation and that they need to find a way to back down.

In the courts, at least, the Home Office is maintaining its stance but that’s just silly. Regardless of what the UK Tribunal decides, there is no way that Apple is going to provide the backdoor and no way the US Government is going to insist that they do. The last thing the British Government needs is to have its very serious mandates ignored and be seen as a toothless lion.

As I’ve said before, I have nothing but good feelings for our English cousins but perhaps a bit of humiliation will give other governments pause when they’re considering similar
Quixotic adventures. Even if, against all odds, they were to prevail, the bad guys would find a work around and only the honest people would suffer.

Posted in General | Tagged | Leave a comment

Emacs Carnival Writing Experience: Eric MacAdie

The latest addition to the Emacs Carnival on Writing Experience is from Eric MacAdie. He begins by saying that with the exception of source code, he hardly ever writes plain text files anymore, only Org files. I realized, when I read that, that it also applies to me. Even when I’m just taking a quick note, it starts out as an Org file and may later be fleshed out to be a full fledged Org file but even if it’s not, it’s an org file with all the formatting and structure that implies.

MacAdie does the same thing although he sometimes starts with a paper note. We here in the Irreal Bunker long ago gave up the use of such primitive tools but the idea is the same: capture an embryonic idea and flesh it out as your understanding ripens.

MacAdie also uses Org to publish his blog posts about the EmacsATX meetings but his workflow is considerably different from mine. It’s another demonstration of how Emacs and Org mode can adjust themselves to suit your individual requirements.

Take a look at his post to see one way to leverage Emacs and Org for your writing. It probably won’t match your needs exactly but you might get some ideas.

Posted in General | Tagged , | Leave a comment

Emacs Send To

Álvaro Ramírez, whom I’ve a written a lot about lately because of his excellent Journelly app, just announced that an Emacs patch of his has been accepted and merged into Master. That sort of thing happens everyday, of course, but Ramírez’s contribution is unique because it started life as a macOS specific capability. The FSF’s way of punishing apostates who use macOS or other “non-free” software is to refuse to accept patches to Emacs that are specific to such software.

Because of this, Ramírez didn’t have much hope of having his patch accepted but he persevered nonetheless and, thankfully, it was accepted. He rewrote his patch to be a framework that would work on any OS if the necessary support modules were provided.

The patch, as originally conceived, was an Emacs interface to the the macOS share functionality. As accepted, the framework will do the same thing in any system that provides the necessary interface modules.

Like Ramírez, I’m grateful that Eli Zaretskii and Steven Kangas recognized the value of his contribution and worked to make it acceptable to the wider Emacs community. It’s not a groundbreaking change but it will make it a bit easier for us to meet our goal of being able to stay in Emacs as much as possible.

I’m not sure, and Ramírez doesn’t say, when his changes will appear. They’ve been merged into Master but I don’t know if that means they’ll appear in Emacs 30.2 or if we’ll have to wait to Emacs 31. Regardless, it’s a nice change and will make all our lives a bit nicer regardless of which operating system we’re using.

Posted in General | Tagged | Leave a comment

Emacs Everywhere Even In Wayland

I could have written these words:

If you are anything like me, you probably feel something is wrong whenever you have to input text outside of Emacs.

but I didn’t. They were actually written by Thanos Apollo. Like me, he loves the idea of Emacs Everywhere so that he seldom, if ever, has to input text outside of Emacs. The problem is, he’s a Wayland user and the Emacs Everywhere package doesn’t (yet?) work there. Happily, for those of you running Emacs on Wayland, he has a fix for you.

There’s a bit of Elisp to add to your init.el and a package, wtype, to install if it isn’t already on your system. His post shows you how to set things up step by step so take a look if you’re interested.

If you’re not using Wayland—in particular if you’re on macOS—this doesn’t apply to you and you should just install the Emacs Everywhere package. But if you are using Wayland, welcome to the club. I’m sure that you’ll find, like Apollo and I, that being able to input text with Emacs no matter what app you’re in is a game changer and stress reducer.

Update [2025-07-21 Mon 11:00]: Fixed title typo.

Posted in General | Tagged | Leave a comment

Customizing The Help Menu

If you follow Charles Choi’s work, you’ll know that, unlike some of us, he’s not afraid of menus and uses then frequently. His latest hack is to take a look at—and reimagine—the Emacs Help menu. You can read his post for all the details but the thing I really like is popping up help in a new frame. The result is that you can keep the help around for as long as you need it without feeling the need to reclaim the screen real estate.

You can do that with buffers in a single frame, of course, but putting it in an separate frame makes it seem more disjoint from your working environment: it’s right there if you need it but it’s not cluttering up your working buffers.

Choi implements this with three new commands:

  1. Open an Info buffer in a new frame
  2. Open a new Info instance in a new frame
  3. Open a Man page in a new frame

This seems particularly nice if you have enough screen real estate to keep the new frames visible. All the information is there to consult without disturbing your working buffers. It’s a nice way of removing a bit of friction from your workflow.

We here at Irreal prefer not to use menus—although we have been known to under duress—but I really like the idea of invoking separate frames for help. Choi gives the code for his changes so it would probably be trivial to bind the functions to a key shortcut instead of—or in addition to—a menu. Take a look at Choi’s post and see what you think.

Posted in General | Tagged | Leave a comment

🥩 Red Meat Friday: We Should Stop Whining

Want to feel ashamed? Of course you don’t but this post will make you feel that way anyway. Too many of us spend our time whining about the tech we use. One aspect of that is how hard it is to learn Emacs or any other serious editor. Read the technical forums. They’re full of whining: “I don’t have time to learn my tools.” “I’m not wasting my time learning Elisp” “Why can’t it just do what I expect it to do?” “OMG, the keybindings!” And on and on.

Then there’s this guy. He’s been blind since birth and guess what? He’s learned to use Emacs and is thankful for it. He uses Emacspeak for both his programming and writing. He says it fills him with joy.

I don’t know about you but I can’t imagine doing what he does. He can’t see. He can’t even remember seeing but he has still managed to learn Emacs and make it an important part of his life.

What’s that? You don’t like the default key bindings? You don’t like the default theme? It takes too long to load? Get over yourself. If a guy who can’t see—who’s never been able to see—can learn and master Emacs so can you.

What’s most striking to me is that he sees every day as an opportunity to learn something new about Emacs and improve his workflow. We could all learn something from him. We are, really, lucky to have so many great tools available to use, often for free. I’m happy his post pointed this out to me.

Posted in General | Tagged , | Leave a comment

Org Agenda

Chris Maiorana has a post that discusses his thoughts on Org Agenda. His discussion is mainly why you might want to use it and what you’d want to use it for. The main takeaway from his post is that Org Agenda is very flexible and customizable.

You can decide what information you want displayed in the agenda and how you want it displayed. Maiorana lists some of the ways you might want to use the Agenda or, perhaps, not use it all.

Not a bit of it resonated with me. I’ve always simply thought of the Agenda as a list of those headings in certain Org files that have an active date. The traditional way of using it is to have a TODO file or a set of files with TODO items and have those—along with their scheduled and end dates—displayed in the Agenda. I do that too but mostly I use Agenda as a report.

As I’ve mentioned before, I keep a detailed list of my daily activities and these are displayed in the Agenda. This turns out to be useful for more than just taking trips down memory lane. For example, when I have an external appointment, I record when I leave, when I arrive, when I leave the appointment, and when I get back. That way, the next time I have an appointment at the same place, I have an idea of the travel time—and therefore when to leave—and how long it will take to get back. It’s useful information to have and well worth the effort to collect it.

Of course, that’s just one way to use the Agenda and almost certainly not the most common way. But that’s the point: you can mold the agenda to be anything you want.

Posted in General | Tagged , | Leave a comment

The Story Of Mel

I know that I’ve written about this before but The Story of Mel is a classic piece of programming lore that all programmers in my cohort knew. I’m not sure if younger programmers know it so if you’re unfamiliar with the story, take a couple of minutes to read it; it’s not long.

No realistic person would take the story as anything but a parable but the odd thing is that it turns out to be true. Not just sort of true but true. Not only did Mel exist but he did all the things in that story.

The thing I love about the story is that every time I start feeling sorry for myself about how hard my programming work is, I remember Mel and what it was like for him. Imagine having to calculate where to put the next instruction so that it will be under the drum read head when it’s time to execute it. That was literally what Mel was doing.

This a great story and one that I didn’t think was true for a long time. It was only a couple of years ago that I found out that, in fact, Mel really did exist and that the Story of Mel was true. The Jargon File calls the story of Mel one of hackerdom’s great heroic epics. If you haven’t read it or haven’t read it lately, take a look.

Posted in General | Tagged | Leave a comment

You Can’t Make This Stuff Up

Every year or so, Irreal publishes a list of the most popular passwords as determined by those found by exploits. It’s always exciting to see if the perennial favorite password or the hometown favorite (and frequent winner) 123456 will win first place. Every time I see the list my first thought is of Aunt Millie. I’m sure it’s the same for most of you. No one, we think, but the most naive of lusers would use passwords like that.

Sadly, that’s not true. Imagine being a professional developer working for an established company with high profile clients and thinking that it would be a good idea to use 123456 as the default login ID and password for the administrator panel of an applications used by most McDonald franchises to “interview” perspective employees. According to Bleepingcomputer that’s exactly what happened. But wait. It gets better. The security researchers also discovered that the user IDs of prospective employees were simply a counter implemented for each interviewee and that they could access other interviewee’s records by simply incrementing or decrementing the ID.

The result of these two exploits is that the personal information—including, apparently, personality tests—of 64 million people was exposed. After the exploit was reported, McDonalds and the vendor fixed things but who knows how much damage was done.

It’s just inconceivable that a serious company could be making these n00b mistakes. Even “n00b mistake” isn’t quite right. Just about everyone with the least security consciousness knows that those are two things you should never do.

Posted in General | Tagged | Leave a comment