Emacs Carnival Writing Experience: Choi

As you all know, I’m really enjoying Greg Newman’s Emacs Carnival: Writing Experience blog posts by various Emacs users who do their (non-code) writing with Emacs. I’ve commented on several of them and today I want to comment on another. This one is from Charles Choi, himself a frequent subject of Irreal posts.

Choi’s contribution makes a point that is obvious when you see it but might not occur to you out of the box: a lot of the power of Emacs comes from its ability to deal with text structures. What does that mean?

To a first approximation, text editors deal with characters and their manipulation. You insert a character, you delete a character and maybe you copy or delete one or several characters and insert them somewhere else. The point is, you deal mostly with characters. Emacs is different. It recognizes various text structures in addition to characters. Trivial examples are words, sentences, lines, and paragraphs. A few other editors deal with some of those as well but Emacs deals with more.

For example, Emacs can deal with s-expressions, delimited structures such as quoted text or parenthetical text. The thing is, Emacs has several commands that deal specifically with these structures. That means that an Emacs user can think in terms of operating on those structures instead of just characters. That makes dealing with text easier and more efficient.

There’s more to Choi’s post than just this point so you should take a look at it. He mentions, for example, his Casual EditKit that makes some of those commands available in a Casual menu. Whether you like the idea of a menu or would rather internalize the commands, Emacs’ rich set of commands for dealing with text structures is a real win.

Posted in General | Tagged | Leave a comment

Eric Fraga’s Emacs Writing Carnival Entry

I’ve been a long time fan of Eric Fraga’s quiet work in the Emacs sphere. He an academic who, as far as I know, doesn’t work directly on Emacs development but is nevertheless active in the community making suggestions and answering questions. If you check the Emacs Devel list or the Org Mode Devel list, you’ll see his name all over the place. He’s even stopped by Irreal a couple of times.

I was, therefore, delighted to see that he had make a contribution to Greg Newman’s Emacs Carnival Writing Experience. His experiences are worth listening to because he has been using Emacs and Org mode to write his technical papers for a long time. He works in process systems engineering so he can get away without having to make his submissions in the format whose name must not be mentioned.

His Emacs Carnival contribution discusses some of the advantages of using Emacs/Org mode for writing his papers. Those include the usual ability of combining code and prose in the same file, having the code be executable, and having it modify the prose in the file. He leverages that ability to generate diagrams and graphs directly from data in the paper. That’s a real win because the diagrams and graphs always reflect the data in the paper and don’t get out of sync.

Another example of the power of Emacs that he gives is almost trivial but vastly underrated: abbreviations. If there are words that you use all the time—especially long words or words that are difficult to spell—this can be a real time saver. See Fraga’s post for an example.

I’m really enjoying the Emacs Carnival Writing Experience and was glad to see Fraga share his views.

Posted in General | Tagged , | Leave a comment

The Emacs Cat’s Org Configuration

The Emacs Cat, like me, is a heavy Org mode user. He uses it for note taking, maintaining his personal knowledge base, agenda management, and blogging. He recently decided to share his org mode configuration. It’s worth taking a look at.

The thing about Org mode is that it’s a huge app with lots of functionality and plenty of knobs that can be tuned to make it behave exactly as you want it to. So even if you’re a heavy user, it’s very possible that there’s a knob that you didn’t know about that will improve your workflow.

One way of discovering those knobs—and other functionality—is to read other people’s configurations. That’s why The Cat’s sharing of his configuration is so useful. It let’s us discover things that we didn’t know about that might be useful in our own workflows.

For example, there’s a variable, org-return-follows-link, that enables clicking on a link to open it in your browser. I generally use org-open-at-point, bound to Ctrl+c Ctrl+o, for this. It’s a bit more general but it’s still nice to have another, simple way of following a link.

There are a lot of nice suggestions in the Cat’s configuration so it’s definitely worth your while to spend a couple of minutes reading it.

The minions, of course, are upset and jumping up and down about his use of a dark theme but, minions aside, Irreal is willing to let folks use whatever themes they like. Even if the minions are right

Posted in General | Tagged , | Leave a comment

Writing With Emacs: Two Out Of Three Ain’t Bad

Ross Baker, channeling the late, great Meatloaf, has a contribution to Greg Newman’s Emacs Carnival on writing with Emacs entitled Writing in Emacs: two out of three ain’t bad. The title comes from the three ways that Baker writes:

  1. Alone
  2. With asynchronous collaboration
  3. With synchronous collaboration

Baker uses Emacs and Org mode for the first two. After all, despite what anyone else might tell you, Org mode is the absolute best way of writing text that you want to do “something else” with later. By “something else” I mean, perhaps, publishing it on the Web, turning it into a PDF, or even exporting it to that spawn of the devil from Microsoft. Even if you’re just writing for yourself with no thought of exporting it, there are a lot of advantages to writing in Org mode.

It’s the third category that gives Baker problems. Lots of people—for reasons I’ve never been able to understand—like to pair program and have two or more people modifying the same piece of text simultaneously. To my mind, that’s the way to madness but plenty of serious people, like Perry Metzger, swear by it.

Regardless, if you do want to pair program it’s pretty much impossible in Emacs. Folks who need it are forced to do the unthinkable and use something like Google Docs. That’s what Baker does. He’s hopeful that Ethersync and its nascent Emacs interface will allow him to avoid the horrors of things like Word and Google Docs.

Posted in General | Tagged | Leave a comment

Ramírez’s Decade With Org Mode

As you all know, I’m a huge Org Mode fan but Álvaro Ramírez’s use and customization of it dwarfs mine. Yesterday, I wrote about how Ramírez was an expert at finding solutions to small problems and that those solutions can payoff by reducing some of the friction in our day-to-day chores.

In his latest post, Ramírez demonstrates this again by recounting how his use of Org Mode has evolved over the last decade. He started as many of us suggest: he chose a single task to automate with Org. That was making technical notes for his own use. But then he wanted to be able to access those from his iPhone when he was away from his computer. His solution was to simply export them to HTML—thereby learning another bit of Org Mode—and publish them so that he could access them from anywhere. He described it as accidentally falling into blogging. He’s still using the same (large) file for everything he publishes to the Web.

From there, his Org use continued to grow. Many of the apps that we associate with Ramírez actually grew out of his Org mode use. His post is fairly long and describes all this. Even his wonderful app, Journelly, grew out of his desire to integrate Org mode with his iPhone and its portability.

A lot of Ramírez’s work is available for download or purchase but perhaps the most important thing is seeing how he solved one small problem after another until he’d built up a powerful system for handling his data. If you’re an Org user or want to be one, you should definitely take a few minutes to read his post.

Posted in General | Tagged , | Leave a comment

Patching A Homebrew Emacs

Álvaro Ramírez is a genius at what might be called programming at the edges. By that I mean he’s good a finding and solving small problems that can negatively effect our workflows. A great example of that is his dwim-shell-command package. Of course, he written some full fledged applications such as Journelly as well.

His latest example of programming at the edges is a post on how to patch an Emacs from Homebrew. For those who don’t know, Homebrew is a package repository that provides pre-built packages for macOS and Linux.

After a long time of building Emacs from source, Ramírez starting using Emacs Plus from Homebrew. It’s a lot easier than worrying about library dependencies, especially on macOS. But what happens if you want to patch Emacs Plus or some other Homebrew package?

Ramírez, of course, has the answer. It’s just the sort of problem that he excels in. There’s no point in me repeating his procedure. Most of us won’t need it but if you’re one who does, take a look at Ramírez’s post.

Posted in General | Tagged | Leave a comment

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