Refactoring Prose With Org Mode

Edmund Jorgensen over at Edmund’s technical ramblings has a really excellent post on leveraging Org mode in a nontrivial way for writing prose. Jorgensen is a software developer by day and a novelist by night. He’s published two novels and a book of short stories so he’s familiar with the problems that authors face.

His latest novel, World Enough (And Time), was in some trouble. He had several subplots going and when it came time for revision, he had a difficult time keeping track of the subplots and how a change in one might effect the others. Because he belongs to the school of writers who let their novels evolve—often in unexpected ways—his revision process frequently involves substantial changes as he gets new ideas from what he’s written so far.

Being an engineer as well as a writer, he naturally sought a technical solution to help him get control of the chaos. His first attempt was to track chapters and scenes in a spread sheet. That helped initially but became unwieldy. Jorgensen, however, was a serious Org mode user and he suddenly realized that Org held the answer to his problems.

I’ll let you read his post for the details. It’s worth reading even if you aren’t a novelist because his workflow could easily generalize to other situations. As usual, I learned something that I started using immediately: org-match-sparse-tree (or more generally, org-sparse-tree) allows you to filter for entries in an Org file containing a tag or combination of tags. It’s really useful, and as I say, I’ve already used it. I definitely recommend Jorgensen’s post.

Posted in General | Tagged , | Leave a comment

EmacsCast: The Video

Rakhim Davletkaliyev, whose EmacsCast podcast I’ve written about many times, has published a video on his Emacs configuration and workflow. As you know by now, I always enjoy seeing how others use Emacs and most often learn something new or get a good idea for my own workflow.

Davletkaliyev’s workflow and the Emacs packages he uses are much like mine. Well, except for the keybindings. I’m almost always content to use the default keybindings but Davletkaliyev has aimed to make his bindings as much like that of the other software he uses as possible. Since he’s on a Mac, that means using the ⌘ Cmd key in many of his commands. For instance, he uses ⌘ Cmd+o instead of Ctrl+x o to switch to the next window.

My first thought was that I should be doing something like that too because it would decrease the number of different bindings for similar operations among the applications I use. Then I realized that

  1. Almost everything I do except for the browser is done in Emacs.
  2. For the browser and any other extra-Emacs application I may need, I have Emacs keybindings configured for all the mac commands.

So in a sense, I solved the problem in exactly the opposite way: rather than adapt the Emacs keybindings to be like native app bindings, I configured the native apps to have Emacs keybindings. Either way, it reduces the cognitive load when switching applications.

Davletkaliyev’s video is about 16 and a half minutes but well worth watching. If you want to see exactly how he has things configured, there’s a link to his configuration.

Posted in General | Tagged | Leave a comment

Microsoft Is Closing Its Ebook Store

Microsoft is closing its ebook store. Who cares? The people who have bought books from them care because they will no longer be able to read their books. Microsoft, to its credit is offering to refund the purchase price but why not just keep the authentication server running? How much could it cost?

The author of the linked article paints a dire picture of where all this is leading. It’s a bit overwrought but it’s worth examining the current practice and whether it makes sense. The legal fiction is, “We’re just selling you a license to read the book, not the book itself. We can revoke that license at our will.” Except that hardly anyone thinks like that when they’re buying an ebook.

I’ve written many times about my ongoing efforts to be completely paperless. Part of that is buying ebooks rather than physical books. I really love books and appreciate all the arguments about how they feel and smell but, really, ebooks are just so much more convenient in almost every way that “real” books just don’t make much sense anymore. That, of course, puts me at odds with another of my deeply held “digital tenets:” Keep all important data in an open format.

My guess is that even the hidebound publishing industry will come to see that DRM is against their own interests and give up on it as the music industry has. Whether that happens before Amazon finishes eating their lunch is still an open question.

In any event, the closing of the Microsoft book store should serve as a warning to us all: let someone lock up your data and you could lose it at their whim.

Posted in General | Tagged | Leave a comment

RSS vs. Twitter

Over at Gizmodo, Patrick Howell O’Neill belabors—what seems to me to be—the obvious. He posits that RSS is a much better way to keep up on what’s going on than Twitter. Wen I read that, my immediate reaction was, “Well, Duh!” Twitter, he says, is mostly a toxic tsunami of half-baked hot takes, propaganda, hostility, and outright hate. That characterization is probably more apt for feeds concerned with social issues and politics than those dealing with tech but I think the conclusion holds in both cases: RSS is better.

Although I do check some technical feeds or hashtags on the Twitter website, I use those as pointers to longer more thoughtful posts or articles. I’ve never understood why anyone would think you can say something useful in under 280 characters. I’ve seen more than one blogger quit Twitter and say that it felt like getting off drugs.

On the other hand, I’ve depended on RSS for years to point me to interesting articles that I can write about or otherwise enjoy. These days, I use the outstanding elfeed to do all this from within Emacs.

Lots of folks love Twitter, of course, but at least for my purposes, RSS is a much better solution. A Tweet is a good way to discover that the latest version of Emacs, say, has been released but if you want thoughtful analysis a blog or technical article is a much better bet.

Posted in General | Tagged | Leave a comment

Mu/mu4e 1.2 Available

If you’re a mu/mu4e user, there’s good news. Version 1.2 has been released. It’s mainly a bug release but there are a handful of new features, which you can read about here. I’ve been using it for the last few days without difficulty.

Of course, since I’m running on a Mac, upgrading was a bit complicated. The new version of mu requires an updated Xapian that, in turn, had some updated requirements of its own. Rather than go through the pain of building it by hand, I took the easy way out and installed it with Homebrew. Homebrew installs things in its own special place so the mu build was still finding the old version in /usr/local/bin. I ran a make uninstall on that and then added a link in /usr/local/bin to Homebrew’s copy of xapian-config. I also had the fix the path to bash in the install script but that may be a local artifact on my machine.

Once all that was done, everything worked fine and I’m enjoying my new mail client. If you’d like to read and write your email from inside Emacs, mu/mu4e offers an excellent solution. I’ve been using it for a couple of years and love it.

In the last week, I’ve installed the new mu/mu4e and the new Emacs. Life is good.

Posted in General | Tagged | Leave a comment

Emacs 26.2 Has Been Released

It’s official. Emacs version 26.2 is out and available at the usual places. I compiled and installed it on my Macs without any problems using the usual spell:

configure --with-ns CFLAGS="-g3 -O2 -I /usr/local/include/libxml2"
make
make install
make install-info
sudo mv  nextstep/Emacs.app/ /Applications/

This post is being written with it and so far (after a day) I haven’t seen any problems. If you’re uncomfortable living on the edge and have been waiting for the official release, it’s here. Thanks to John, Eli, Nico, and the others for all their hard work.

Posted in General | Tagged | Leave a comment

The Recentering Sequence

Maybe the Emacs developers knew what they were talking about after all. A couple of years I discovered that you can control the sequence of positions to which recenter-top-bottom will move the current line. As I wrote at the time, abo-abo recommended changing the default sequence from middle \(\to\) top \(\to\) bottom to top \(\to\) middle \(\to\) bottom. As abo abo said, if you believe in gravity that sequence is more logical and is also more convenient. That made perfect sense to me and I changed it in my config.

Lately, I’ve noticed that I almost always end up using Ctrl+l twice because—unless I’m looking at a function definition—I need to see what comes before the target line too. If I am looking at a function definition, Ctrl+Meta+l does just what I want.

Therefore, today I bowed to the developers’ wisdom and changed the recentering order back to the default.

Posted in General | Tagged | Leave a comment

Some Pithy Advice to Engineers About Crypto

Via Karl Voit we have this Tweet from Tim Dierks offering some pithy but good advice to engineers about crypto:

Crypto is notoriously difficult to do correctly; even the experts don’t always get it right. Dierks advice boils down to “Don’t roll your own,” and that’s a good rule.

Posted in General | Tagged | Leave a comment

Git and Plain Text for Writers

Bastien tweets a pointer to an interesting article on using Git for
writing:

Although the article, by Seth Kenlon, is advertised as considering the question “Why (prose) writers should use Git,” I think the more important takeaway is that writers should embrace plain text. Kenlon makes a persuasive case that authors would be better off trashing their word processors and using a combination of a text editor and Markdown.

Kenlon’s text editor of choice is Atom (although he does mention Emacs as an alternative), which is, I think, leaving money on the table. Other than the obvious but subjective judgment that Emacs is a better, more customizable editor, it is virtually universally acknowledged that Magit is the best Git interface—integrated or not—and that Org mode markup is superior to Markdown, especially when its Babel interface is taken into consideration.

Of course, those are the opinions of an Emacs partisan so others may disagree but it’s hard to see how one can argue about Magit or Org mode. In any event, the important point stands: embrace plain text. If you do any writing at all, you should take a look at Kenlon’s article, especially if you’re still using Word or one of its evil offspring.

Posted in General | Tagged , | Leave a comment

Screen Real Estate

A month ago, Mike Zamansky posted that he’d just replaced his two 27 inch monitors with a new 43 inch 4K monitor. I commented that every time I saw a post like his, I had an urge to run out and buy my own huge monitor because I would be sure it would make me a bazillion times more efficient. Sadly, I never do because I like working on my 13 inch laptop on my couch.

I was reminded of all this when I saw a post discussing the productivity gains that could be achieved with more screen real estate: either two monitors or an ultrawide monitor like the one Zamansky got. The post was interesting not so much for the experiment that the author performed—I didn’t find that particularly compelling—but for the two studies that they quoted.

More screen real estate won’t magically make you a bazillion times more productive, of course, but it can give you a significant increase of about 20 to 30 percent depending on the particulars of the monitors. It used to be that large monitors were pretty expensive but these days you can get one very reasonably. The studies quoted in the post suggest that it’s a worthwhile expense. Maybe you can even convince your boss.

If you like this sort of thing, Ali Abdaal has a video on his new(ish) 35 inch curved monitor.

Posted in General | Tagged | Leave a comment