## Reveal.js and Org Mode

Mike Zamansky is back from his trip and has a new video up. It's on making presentations with reveal.js and Org mode. This is a nice introduction to reveal.js and shows how easy it is to make a nice looking1 presentations simply by writing a Org file.

Each top-level heading is a new slide and you can have subslides by using subheadings. You can add code, tables, or images in the usual way and they get added to your slides just as you'd expect. There are also a number of themes and special effects to choose from. Watch the video to see the details.

One of the things I didn't like about reveal.js was that it could be a bit fiddly to get the environment set up but Zamansky shows you how to use the CDN version that gets dynamically loaded from the cloud.

The nice thing about reveal.js is that it's easy to use and doesn't require remembering a lot of details so it's perfect if, like me, you don't make a lot of presentations and don't want to spend a lot of time learning a more complicated system.

## Footnotes:

1

At least if you don't mind PowerPoint-like presentations.

## Literate Programming with R

Since I've been writing about literate programming lately, here's a nice talk by Don Knuth on Literate Programming in R. Knuth begins his talk with an overview of several books that have been written using literate programming and discussing why it's a win for the reader.

One of the things that many of the authors of those books said is that it's much harder to write a literate program that it is to write a book or write a program. Knuth disagrees. He says that some of the really hard programs he's written would have been impossible if he had tried just writing conventional program.

The second half of the talk considers using literate programming techniques to write R programs. Knuth says it's a bit different (from, say, C) because R is such a high level language. Nevertheless, literate programming works well in the domain too as he demonstrates with a small paper on the Kolmogorov-Smirnov statistic written using literate programming. If you're interested in the details, Knuth has posted a (corrected) copy of the paper. The slides are also available.

## Tutorial Update (Week of July 10)

This is just a quick update on the two video tutorial series that I'm following. These are Mike Zamansky's series on Using Emacs and Rainer König's series on Org mode.

Zamansky has been traveling so there are no new videos from his series. He expects to resume the series sometime between now and the end of July.

König has also been busy but does have four new videos up. The first two videos cover internal and external linking. I use external linking all the time. It's a way of providing a clickable link to a external file or URL. All the links in my blog posts start off life as an Org mode external link. Although there can be many types of external links, the idea is straight forward and easy to learn and understand.

Internal links are a little more complex and König covers the topic well. Part of the complexity is the many ways that you can specify a target for a link. He also explains and demonstrates what Org calls a “radio target.” The idea is that you want to link to the same place in your file from many different places. Radio links let you specify a target and a word (or phrase) and every occurrence of the word(s) will be turned into a link to the target.

The third video discusses and demonstrates the Org attachment mechanism, which lets you attach files or buffers to an Org headline. It's very flexible and has its own dispatcher to handle the various cases. Take a look at the video for details.

Finally, König covers the Org priority system, which lets you assign priorities to the headings in a file. If that's the sort of thing that interests you, take a look at the video to see how it works and what you can do with it.

As I've said previously, I really like both these series and look forward to seeing videos from them. You should definitely check them out if you haven't already.

Posted in General | Tagged | 1 Comment

## Intelligent Note Taking

Günther Hutter has a nice post on taking notes that can be exported to a nice looking document. His strategy is to use markdown to take the notes and then use pandoc to export them to $\LaTeX$ and produce a PDF output. His post has an example of the input and output.

Karl Voit saw Hutter's tweet pointing to the post and responded with

That's exactly right, I think. Org mode offers many advantages including the (semi-)automatic insertion of time stamps as documented in Rainer König's excellent video on Org timers.

Org mode can facilitate the process in other ways too. For example, the export workflow is slightly easier because Org's already set up to export to $\LaTeX$ and even automatically produce the PDF all from within Emacs. If you find yourself taking the same type of notes often, you can set up a template that has all the boiler plate already in it so you can concentrate of taking notes rather than bookkeeping.

Posted in General | Tagged , | 3 Comments

## Avoiding Data Capture

Although I have Linux and FreeBSD machines, most of you know that I mostly live my digital life within the Apple ecosystem. I like the tight integration between my iPhone, iPad, and Macs. The downside, of course, is that it's a closed system and not by any means Open (let alone Free) Software. But being an apostate doesn't mean I have to be stupid.

If apple were to disappear tomorrow, I would be only slightly inconvenienced and I certainly wouldn't lose any data. That's because I never commit my data to closed systems using opaque data formats. Almost all my data—other than things like music, photos, JPGs, and stuff like that—are stored as plain text. All those exceptions are kept in open data formats.

The other day, I saw a post on reddit complaining about the difficulty of exporting data from Google Docs. I wasn't sympathetic. If you lock your data up in proprietary applications, don't be surprised when you find you can't get it out again1. If you want to keep your data available, keep it in plain text and use open source tools to manipulate it.

Of course, others will complain that you're not using Word or Google Docs or some other abomination but they're the ones making other people's life difficult. Almost always you can export your data to DOC/DOCX format so there's little excuse for not writing in Org-mode, Markdown, or something similar.

If you want a horrifying example of what can happen when you ignore this advice, imagine losing 14 years of artwork and an unfinished book manuscript because Google decided it didn't like something you said or did. Yeah, this guy deserved what he got but many many people are guilty of the same thing to a lesser degree. Indeed, Cooper isn't the first to lose data when Google2 decided it was no longer interested in supporting an application or felt you violated it's standards in some way.

## Footnotes:

1

Yes, I understand that sometimes your organization requires using Google Docs or whatever but that merely places the blame up a level or two.

2

Both my examples involve Google but this isn't about them. It's about committing your data to a closed system that you don't control.

## Writing Humanity Papers with Org Mode

While preparing yesterday's post on drawers and tags, I came across another interesting post from Clark Donley that discusses how to use Org mode to write humanity papers. This is a great thing not only because it helps non-scientific researchers publish their papers in an easy and efficient way but also because it demonstrates that even if you're in the humanities, you don't have to be stuck in the Word ghetto.

The process is very similar to what a researcher in engineering or the sciences would do but some of the defaults are tweaked to be more in line with what humanity researchers expect. It starts with using Org mode to prepare $\LaTeX$ which is then exported to PDF. If you're dealing with a journal that insists on Word input, you can run your $\LaTeX$ through pandoc first.

The real virtue of Donley's post is that it demonstrates that Emacs/Org/$\LaTeX$ is not just for the scientist but it can be used by anyone to produce nice looking papers without having to fire up the abomination that is Word.

## Drawers and Tags

Last year, Clark R. Donley published a very nice post on using Org mode drawers and tags for writing. I missed the post when it was first published but stumbled on it now because it was mentioned in a tweet.

The post details the ways in which tags and drawers can be used to selectively prevent data from being exported. You can, of course, do this with the :noexport: tag but what if you have several sections that you sometimes want to export and other times not? In that case, the :noexport: tag can be a pain and also a source of error if you forget to change one.

Donley shows how you can mark sections with a tag and then selectively inhibit export of sections with that tag simply by changing the list of tags to be excluded:

#+EXCLUDE_TAGS: tags to exclude


Another way of accomplishing this is to put data that you may or may not want exported into a drawer. Again, you can configure your document so that all, none, or some of the drawers get exported. See Donley's post for the details and some other features of working with tags and drawers.

## Malware and the iPhone

Say what you want about Apple and the iPhone but there's one remarkable fact about it that Graham Cluley points out: the iPhone has had no significant malware outbreaks. Sure there have been some minor incidents but almost all the problems involved jailbroken phones.

You can dismiss all this as the fever dreams of fanboys but serious security researchers agree that the iPhone and ecosystem is far safer than Android. Yes, yes, it's a walled garden and all but most users simply want a functional safe phone that they don't have to think about and the iOS closed app store helps ensure this.

## Tidying Data for Statistical Analysis

William Denton has an interesting post on tidying data to make statistical analysis easier. This may be interesting to Irreal readers because he uses Org mode and Babel to tidy the data and then to analyze the data.

The idea of tidy data comes from Hadley Wickham in his Tidy Data paper. The idea is that the data is arranged in tables where each variable is a column, each observation is a row, and each observational unit is a table. This is explained in greater detail in Wickham's paper.

Starting with a simple data set of expenditures for two years, Denton first arranges it in a table that is easy for humans to read and understand but that is more difficult to do statistical analysis with. Using some R code he rearranges the data into a tidy format and then does some analysis by producing a couple of graphs that display the data in meaningful ways. All of this is done in an Org file using Babel.

This exact subject is of interest mainly to data scientists, of course, but I like seeing how Emacs and Org can be leveraged to help make the workflow easier.