Emacs for Writers

Regular readers know I’m fascinated by the stories of professional writers who use Emacs. I’ve written in the past about Vernor Vinge, Tony Ballantyne, Randall Wood, Urpo Lankinen, and some non-prose writers who use Emacs for their writing.

Now Jay Dixit, a science writer, has given an excellent talk at the New York Emacs Meetup on Emacs for Writers. Dixit, who is not a programmer, talks about his long search for the ideal editor for writing. He tried all the usual suspects—Word, Scrivener, WorkFlowy—but none of them did what he wanted: an outline in the left hand pane and editable text in the right hand pane all of which was manipulable from the keyboard.

After spending some time in writers’ forums, someone finally told him he could do what he wanted with Emacs, Org mode, and indirect buffers. As a non-programmer, it took him some time to get things configured appropriately but now he has the exact setup he wanted.

The second half of his talk demonstrates how he uses this functionality in his writing. As usual, his particular workflow may not be precisely what you’re after but he’s got lots of good ideas and shows that even someone without programming expertise can get Emacs configured to his liking. If you’re a writer and tired of Word, take a look at Dixit’s talk to see if his ideas make sense for you. Don’t worry about having to deliver your manuscript in Word; that’s easily handled.

The talk is just over an hour so you’ll have to schedule some time.

Posted in General | Tagged , | Leave a comment

Lisp Performance

One of the tiresome things that Lispers keep hearing from the misinformed is that Lisp systems are too slow for production work. Here’s a very impressive counter example to that notion.

JCG over at the Racket Users forum reports that he rewrote a 2,000 line C++ program in Racket Scheme and saw a 20% speed increase. More importantly, I think, is that new server was only 700 lines of Scheme.

So faster, shorter. What’s not to like? JCG does say that the memory footprint is significantly larger (300 megs versus 60) so there is a downside. At least there’s a downside if you’re worried about a 300 MB memory footprint. These days, most of us probably aren’t.

Posted in General | Tagged , | Leave a comment

Org Basics V

Ben Maughan has posted the last in his series of Org mode basics posts, Org Basics V. The final episode covers exporting. In the previous posts, Maughan showed the basics of Org markup and data manipulation for writing structured notes. Now we learn how to export these notes to nice looking output.

Maughan demonstrates adding headers to specify CSS and LaTeX style sheets to the notes so that you get optimal results for HTML or PDF output. As he mentions, you can also export to plain ASCII, Markdown, or ODT (doc) formats. He includes links to the HTML and PDF renderings so you can see what the final product looks like.

As I’ve said before, this series of posts is an excellent introduction to writing with Org mode. Even though there are only 5 short posts, they show the richness that Org mode provides.

Posted in General | Tagged , | 1 Comment

Org Radio Buttons

John Kitchin has another great trick: how to implement radio buttons in Org mode. The idea is to take a normal Org checklist and arrange it so that only one item can be checked at a time. In other words, a radio button.

Oddly, there’s nothing like that built into Org mode but Kitchin shows how to implement it with just a few lines of Elisp. You might want to query the list programmatically and retrieve the checked item. Kitchin wrote a couple more functions to allow you to do just that.

It’s a nice post and even if you don’t have a need for a radio button right now, you’ll learn a lot about working with Org structures. Definitely recommended.

Posted in General | Tagged , | Leave a comment

Some Bad New for Emacs

As I’m sure you’ve all heard by now, there’s some bad news for those of us who love and use Emacs. Monnier has been a good steward and his work as the Emacs maintainer will be missed. It will be hard to fill his shoes.

Posted in General | Tagged | 2 Comments

The Dangers of Metadata

Governments are fond of telling us not to worry about their wholesale collection of phone records because, after all, it’s just metadata. Mike Rogers even tried to press the point that since the records contained only phone numbers they couldn’t be tied back to people. It appears that even the CIA underestimated the danger of metadata.

Matthew Cole, an NBC news producer, gave a Black Hat talk on how dangerous metadata can be. You really need to watch the video (it’s 25 minutes) but the TL;DR is that

  1. The Italians authorities were able to discover and prove that the CIA was behind the kidnapping of a Muslim cleric and Italian citizen by an analysis of cell phone metadata.
  2. The entire CIA network in Lebanon was rolled up the same way.

The salient point is that none of this required sophisticated analysis or special tools (although such tools were used).

Cole makes the point that—as the CIA found out to its chagrin—metadata can be extremely revealing; often more revealing than the actual content of the calls. Watch the video to see this in action. It will probably surprise you how devastating and revealing metadata can be. If you’re at all concerned about your privacy you must watch this video.

Posted in General | Tagged | Leave a comment

LaTeX Tips for Beginners

After years of resistance, I’ve come to like LaTeX and now prefer it—particularly through Org mode—over than troff. The thing is, I mostly don’t write in LaTeX; I write in Org mode and just export the Org mode to LaTeX. Sometimes, though, it makes more sense to write directly in LaTeX using the wonderful(!) AUCTeX. When I do, I tend to forget the fine details.

Fortunately, Nick Higham has an excellent set of LaTeX tips. Although they were intended for n00bs (mostly his students) they also serve as a great refresher for those who don’t use LaTeX everyday. They serve as a reminder of how to use LaTeX correctly. If, like me, you’re an occasional LaTeX user—or more correctly, don’t write directly in LaTeX often—you may find it helpful to read Higham’s tips before you start a new writing project. It will save you time looking up those fine points as you write.

Definitely worth a read. I’ve bookmarked it for handy reference. There is also a PDF if you prefer.

Posted in General | Tagged | Leave a comment

Video on Using Org Mode for Your Init File

Daniel Mai has a nice video on how he uses Org mode to organize his Emacs init file. I’ve written about this before but some of you may prefer, or at least enjoy, watching a video on the subject.

This appears to be the first of several videos on the subject so Mai restricts himself to showing how he organizes the Org file and how he uses the use-package package to install and configure his packages. He promises to go into some of the details in future videos.

If you’ve reached the point where you’re thinking, “I really should refactor my init file” you should consider organizing it as an Org file. Doing that makes it easy to add commentary on why your doing things a particular way or what a custom function is for. One of the big benefits, I think, is that Org mode’s outline paradigm makes it natural to organize your init file in a reasonable way. That, in turn, makes it easy to find things either by just looking at the headings or using one of the excellent Org mode search functions.

In any event, the video is enjoyable and only 12 minutes long so it should be easy to fit it into your schedule.

Posted in General | Tagged , | 1 Comment

Good News From India

Here’s some good news. It’s a little old now but still worth noting.

The Indian government has backed down on its draconian proposals for regulating the Internet.

Update: Fix title: New → News

Posted in General | Tagged | Leave a comment

Some Org Agenda Tips

Marcin Borkowski (mbork), who’s been posting several great articles lately, has a nice offering with A few org-agenda hacks. It’s a short list of some of the ways he’s tweaked Org’s agenda view to better suit his needs.

As Borkowski says, all of this is in the documentation but may be a bit hard to dig out. If you use even one of his tips it will have been worth reading this short but pithy post.

Posted in General | Tagged , | 1 Comment