Using reveal.js with Org Mode

For those looking for a way to produce slides with Emacs and Org mode, there are two popular options: Beamer and reveal.js. Each solution has its partisans but if you’re in the reveal.js camp, Yujie Wen has an org-reveal package that allows reveal.js slide decks to be produced with Org mode.

The process is pretty simple. By default, each top level heading is a new slide containing the content of that heading. Subheadings are child slides that sit logically below the parent slide. You can add options to the entire deck or individual slides to control how the slides display.

Wen’s readme.org that comes with the package is a complete manual for using org-reveal and can also be exported to a slide deck. In that way, it serves not only as a manual for using the org-reveal package but as a go-by for writing your own slides.

If you give talks, are an instructor, or otherwise need to generate presentations, this is a nice package that’s easy to use and doesn’t take very much effort to get up to speed with. Definitely worth checking out.

Posted in General | Tagged , | Leave a comment

Dotfile Management

Haoyang Xu has a really nice idea for managing your dotfiles. The idea is a generalization of using Org mode to configure Emacs, a strategy that many people have written about (here’s a pointer to a video about it). Using Org mode has the advantage that it’s easy to document your choices in a way that’s much harder to do by just adding comments. Grant Rettke has an example of this idea on steroids: he documents everything about his Emacs configuration including why he chose one configuration item over another.

Xu extends this concept to all your configuration files. You collect your configuration data in an Org file with a header for each subject area—mail, say—and have subheadings for particular dotfiles—like .mbsync, .msmtprc, and so on. Xu’s post has the details and some examples. He also shows how to extend the idea.

This may not be worth the trouble if you have a single machine but if you maintain two or more machines that have similar configurations, this is a real win. You can have a single (versioned) Org file that has all your configuration data, making it easy to maintain consistent configurations from a single file. Xu even shows how to configure remote machines.

I really like this idea and will probably implement it the next time I have to set up a new machine. Of course, it’s easy to start slow and keep adding additional dotfiles. That’s probably what I’ll do. When I get around to that new machine, I’ll already have my Org file ready to go and tested.

Posted in General | Tagged , | Leave a comment

The FBI Begs Off

This is what you do when you think you’re going to lose and set the wrong precedent.

Posted in General | Tagged , | Leave a comment

Ensime Hacks

Over at Ensime they have a page dedicated to Emacs Hacks. Although it’s written from the point of view of a Scala developer, the hacks are useful for any Emacs user.

There three sections, one each for

  • General hacks
  • Scala hacks
  • Elisp hacks

there is also a section for Java but it’s not yet completed.

Each of the items either describes a useful package or a bit of Elisp that is too small for a package but which performs some useful task. Unless you’re a complete n00b, you probably already have many of the packages installed but it’s useful to read through the list in case you’re missing something.

The page is a nice resource and well worth taking a look at. If you find just one package that you didn’t already have useful, it will easily pay for the time you spend on it.

Posted in General | Tagged | Leave a comment

Matt Blaze on Adtech

Countless pixels have died in the battle over adtech. I’ve long held the view that I’m happy to view the ads but I object strongly to being tracked and having arbitrary scripts run on my machine. Some time ago, I installed Ghostery as a compromise that would block the trackers but allow legitimate ads through. Of course, since virtually all ads are tracking ads that had the happy side benefit of blocking almost all ads.

After the latest example of malware being delivered by the ad networks at legitimate—and presumably safe—sites like the New York Times and the BBC, I’m considering adding another blocker to filter everything. I do understand the legitimate concerns of sites that depend on advertising but enough is enough. The ad networks have lost all claims on our sympathy and good will and those depending on them had better find better solution because I’m sure I’m not alone on being fed up. Clean up your acts or stay the hell off my machines.

Here are three tweets from Matt Blaze that capture the situation nicely:

Posted in General | Tagged , | Leave a comment

Literate Programming With Org Babel

Howard Abrams recently gave a talk at the PDX Emacs Hangout in Portland. So far, there is no video of the talk but Abrams did write up his notes1. The talk was intended to be a workshop so you should work through his examples as you read the notes.

The idea of the workshop is using Org Babel for Literate Programming. Abrams demonstrates that you can do straight Literate Programming à la Knuth but the real power of the Org/Babel combination is the ability to mix languages, run the code in situ, and then incorporate the results of the program directly into the text.

Babel has many ways to accomplish those last two steps and the bulk of Abrams’ workshop is devoted to exploring the different ways to input and export data to the code. The notes are an excellent summary of the capabilities of Org/Babel and worth bookmarking.

I’ve written before of how enjoyable using Org/Babel for writing papers and organizing projects is. You get all the benefits of reproducible research as well as a pleasant environment in which to work. Babel really is one of the killer features of Org mode even though it’s less well known and appreciated than some of Org’s other features. If you aren’t familiar with it, take a look at Abrams notes and start feeling the power.

Footnotes:

1

Abrams says the notes are a “first draft” and that he will probably post them to Reddit or someplace similar later. Nevertheless, I found the notes reasonably complete and useful even in their preliminary state.

Posted in General | Tagged , | Leave a comment

Magit Video on Rebasing

Charl Botha has posted an excellent video on advanced rebasing with Magit. It serves as a great followup to Howard Abrams’ Magit tutorial video. Abrams covered rebasing too but Botha shows how to perform more complicated tasks.

First he shows how to change the commit message for any commit not just the last one. Then he shows how to easily reorder and combine (squash) commits. Squashing commits, especially, is a common task and a useful thing to be able to do. Magit makes this easy but it’s not obvious how to do it so having a tutorial is nice.

Finally, Botha shows how to break apart a commit into two or more separate commits. As he says, this is rarely needed but is possible and not too hard. Watch the video to see the details.

If you haven’t already watched Abrams’ video, watch that first and then take a look at Botha’s video. I learned a lot from them and if you’re not already comfortable with rebasing, you will too. Definitely recommended.

Posted in General | Tagged , | Leave a comment

Org Mode and Software Engineering

Rohan Kshirsagar has a nice post on integrating Emacs Org Mode into the software engineering process. That’s a big subject area, of course, but Kshirsagar focuses on using Org to take notes as things occur to you and perhaps turn some of them into TODO items. That’s only a tiny bit of the Org functionality that can be useful to a developer but it’s an important one.

The idea is that as you’re working some idea may occur to you and you’d like to capture it. If you have to switch to another application and do a lot of busy work to write your idea down, you can lose focus on your main task. A nice thing about Org is that it has a built-in facility to quickly and easily capture notes and store them in an Org file. It doesn’t take many brain cycles because almost everything is automatic.

I like this facility so much that I even have a global hot key to bring up the Org capture menu from any application on my machine. I mostly use this in conjunction with the browser when I want to make a note of something I’m reading but it works from anywhere.

Kshirsagar also points out that if—heaven forfend—some members of your team are not Emacs users, Org mode makes it easy to publish the notes as HTML and share them either on the team server or a public area of your workstation. It’s a useful post and worth a read so head on over.

Posted in General | Tagged , | Leave a comment

What Happens When You Give Law Enforcement a Backdoor Key?

This:

Posted in General | Tagged , | Leave a comment

John Oliver on Encryption

The other day I saw a hilarious John Oliver video on encryption. He explains, as only Oliver can, why despite outward appearances the encryption question is not simple and one’s immediate reaction of “Of course Apple should help the government fight terrorists” is actually more nuanced than one might think.

Now The Atlantic has run a piece on the video and asks Can John Oliver Get Americans to Care About Encryption? That’s an interesting question. Maybe commedians can do what common sense and rationality have been unable to do: make the average citizen understand what’s at stake in the debates. It turns out that Oliver’s crew spent considerable effort putting the piece together and interviewed all the players.

The Oliver video is embedded in the Atlantic article so you have one stop shopping. Even if you don’t care that much about encryption, the video is amusing and worth watching for its humor. It’s nice to see main stream publications giving the matter some intelligent coverage.

Posted in General | Tagged , | Leave a comment