A Workflow with Org Mode

Rainer König has the latest video up in his OrgMode tutorial series. This time he discusses his personal Org mode file structure and workflow. I always find it interesting to see how others do these sorts of thing so I really enjoyed his video.

The video is about 21 and a half minutes so you may have to schedule some time to watch it.

Posted in General | Tagged , | Leave a comment

Org Mode Speed Keys

John Kitchin has a nice post that illustrates how to install context sensitive speed keys for Org mode headings. I didn’t know a framework for this existed so I found his article interesting and informative.

The particular problem he is solving is extracting an email address from an Org file of contacts and opening an email buffer so that he can send an email to the contact. He also has keys for copying the address to clipboard in various ways. That’s interesting and many will find it useful for their own work but the real value, I think, is explaining how you go about installing speed keys for Org mode.

Take a look at his code for the details. It’s pretty simple if you know a bit of Elisp. He also shows how to retrieve a property from an Org mode entry so there’s a lot to learn from his code.

Posted in General | Tagged , | Leave a comment

Working Remotely

Yan Lhert has drawn a line in the sand: He will no longer accept jobs that don’t allow him to work remotely. Working remotely is popular these days and many people extol its virtues. Those virtues often include something that involves a beach or Thailand but Lhert isn’t interested in any of that. He simply wants to work efficiently.

Lhert has two problems with “working at the office.” The first—and probably most serious—is the disaster masquerading as a fad known as open offices. Almost all startups, Lhert says, have bought into the myth of improved communication and an open and transparent culture offered by open offices. Of course, that’s nonsense as many many studies have shown. As Lhert says, “You don’t have to look far to find plenty of research on the subject—and quite frankly, there is simply no debate here.” Irreal, always at its most cynical on this subject, has long suspected that the real reasons for the popularity of open offices among management have more to do with the price of real estate and the bottom line.

The other reason for Lhert’s insisting on working remotely is working hours. Like many of us, Lhert is not a morning person and simply can’t work up to his potential when forced to get to work at 9 am. He much prefers to follow his own circadian rhythm and work from, say, 11 am to 10 pm. He’s happier and more efficient and everyone benefits. Everyone, that is, but the micromanaging control freaks that simply have to know where he is and what he’s doing while he’s working. By working remotely, he gets to control his own working hours.

It’s an interesting post and most of us in the software industry will find it enjoyable. Even if you’re simply working from home and not from an exotic location, working remotely can make a lot of sense for both you and your employer.

UPDATE [2016-12-24 Sat 13:00]: you’re → your

Posted in General | Tagged , | Leave a comment

Bulk Actions

After a hiatus of almost 4 months, Rainer König is back with another video in his excellent series of Org Mode Tutorials. If you haven’t been following along, be sure to click on the above link to the play list. There’s a ton of useful information in those (31) videos.

The latest video deals with bulk actions. The idea is that if you have an Org mode agenda up, you can mark some of the entries and then perform an action on them all at once. That’s much easier than repeating the same action multiple times. König’s example is archiving all the completed TODO items in his agenda.

I have a similar use case. Periodically, I bring up an agenda list of all the items in my blog ideas queue that I haven’t acted on. Usually they’re items that I decided weren’t interesting enough to write about or that had become too dated. I mark the ones I want to get rid of and then do a bulk cancel on them. They’re still in my blog ideas file, of course, but they no longer come up in the list of pending ideas.

The latest video is about 12 and a half minutes so it should be easy to schedule. Again, if you haven’t been following König’s tutorials, head on over to his play list and start going through them. They are the best resource I know for learning about Org mode.

Posted in General | Tagged , | Leave a comment

A Bookmark Video

One of the Emacs features that I really like and use all the time is bookmarks. I have a lot of files that I use several times every day and it’s really convenient to be able to bring them up immediately1 without typing in a file path. This works even if the file is already in a buffer so I can always do the same thing to bring one of those files up. Since I use Bookmark+, I can also set a bookmark for Irreal and Emacs will automatically open Irreal in my browser.

There are a lot of things you can do with bookmarks that aren’t obvious so I was happy to find this (old) video on bookmarks by Aaron Camposs. It’s just 7 minutes long so it’s easy to find time to watch it. Once nice thing that I was only vaguely aware of is that you can set a bookmark to a file on a remote system as well as files on the local machine. If you spend a lot of time working with files on a remote machine, this can be a real timesaver.

If you aren’t already using bookmarks, you should watch the video and see what you’re missing. It really is a great feature of Emacs that everyone should know about.

Footnotes:

1

Using an idea I stole from abo-abo, I can usually choose the appropriate bookmark with a single key.

Posted in General | Tagged | Leave a comment

The Org Mode Category Property

One of the nice features of the Org Mode agenda is that it lists the file the agenda item came from at the left of each item. That makes it easy to see what the item is about. For instance, if I see “b-ideas,” I know that this entry is an idea for a blog post.

Sacha Chua passes on a tip from D.C. Toedt from which I learned something new. It turns out that having the file name appear at the left of the agenda item is merely the default. By using the CATEGORY property in the top-level headline you can change what appears in the agenda. As Chua notes, this is great if you like to keep everything in a single file.

Having the name of your single Org file appear in each agenda item is not very helpful but by using Toedt’s tip you can easily arrange for useful information to be put there. When you read Chua’s post, be sure to follow the link to her configuration to see how she breaks out the various categories of her agenda items.

Posted in General | Tagged , | Leave a comment

Task Dependency in Org Mode

Karl Voit has an excellent post on he handles dependencies between Org mode tasks. The post is reminiscent of his chat with Sacha Chua in which he explains how he uses yasnippet to automate complex workflows. I wrote about that chat here.

As in the chat, he gives the example of his workflow for organizing trips to the local cabaret with his friends. You might not think that that demands an “advanced workflow” but, in fact, his setup is quite sophisticated. Blocked tasks don’t appear in his agenda until they are able to be worked on. His templates use the advanced features of yasnippet which adds to the sophistication of his workflow.

Another nice process he describes is using the yankpad package to handle his snippets. Although yankpad was intended as a simple way of configuring short text replacement snippets, it will also works with yasnippet so you can define and manage your snippets from an Org file instead of separate files as with yasnippet. See Voit’s post for a bit more on this.

If you’re a power user of Org mode—or want to become one—you should definitely take a look at Voit’s post. You can build amazingly complex workflows by combining some advanced Org mode features with yasnippet.

Posted in General | Tagged , | Leave a comment

Always Encrypt

Here’s a piece of essential advice

If you follow the links, you end up at this CNN Tech story about Evernote changing their terms of service to allow their employees to read your notes (all in the service of improving Evernote, of course).

I love how some reporter keeps his interview notes with anonymous sources in Evernote and is now all concerned about the consequences. WHAT DID YOU THINK WAS GOING TO HAPPEN? If you’re going to store your data on a public service, it’s up to you and no one else to make sure it’s secure. Almost always this means encrypting it.

I’ve been harping on this since the days of the phony Dropbox “scandal.” See this post for links to those posts if you’re interested. Evernote, to their credit, has taken user complaints to heart and backed off their plans but this in no way excuses you from your responsibility safeguard your data. Evernote could change their mind or get sold and you’re back to having the same problem. And, of course, it’s not just Evernote. It’s every server in the cloud that you don’t control and if you really want to be safe, even the ones you do control.

Posted in General | Tagged | Leave a comment

Emacs Regular Expressions

Jamie Zawinski notwithstanding, I find regular expressions extraordinarily powerful and useful. Most of us in software engineering use them daily and almost all editors support them. One of the complaints I hear all the time is that Emacs regular expressions are not Perl compatible and therefore hard to learn and use or something.

They are (slightly) different from Perl’s implementation but guess what. Perl regular expressions are different from the original grep / egrep flavors as well and yet we all somehow learned to use Perl’s version. Probably the difference that causes the most problems is parentheses. In most regular expression systems, parentheses are used for grouping and a literal parenthesis must be escaped as \( or \). Emacs inverts this usage because parentheses are so common in Lisp. For me, the most annoying issue is having to use things like [[:digit:]] instead of \d.

In any event, Xah Lee has come to the rescue with his recently updated Emacs Regex Tutorial. He points out the differences and how to deal with Emacs specific issues such as case folding. It’s a short tutorial and well worth taking the time to read.

Posted in General | Tagged | 5 Comments

Org Mode 9.0.2

Another Org update is available. It’s already on Melpa if that’s how use handle upgrades.

Posted in General | Tagged , | Leave a comment