Sacha’s Guide to Managing Tasks with Org Mode

The ever awesome Sacha Chua has an excellent Baby Steps Guide to Managing Your Tasks with Org. It’s still a work in progress but even in its unfinished state it’s a really useful guide for getting started with Org mode.

One of problems with Org is that it can be overwhelming. Org can do so much and has so many facets that it’s easy for beginners to bog down trying to understand everything. Chua’s guide takes the approach of learning to do just one thing with Org: manage your TODO lists. By the time you’re finished mastering that, you will have learned enough about Org and how it works that it will be easy to move on to the next set of Org features.

Chua starts off by having you create a list of tasks and shows how you can manipulate that list by moving tasks up and down in the file. When you’re done she says to change the TODO to a DONE. That’s kind of a bore, though, so she shows you how to toggle it with a simple key sequence. But maybe you want more states than just TODO and DONE. You might want WAITING or SOMEDAY, for example. Chua shows you how to add these and assign speed keys to them so you can switch states easily.

Next she suggests that you break that list of tasks up into projects. That makes it a bit easier to organize your tasks and track progress on individual projects. Finally, she shows you how to schedule tasks for a certain date.

If you’ve been wanting to get started with Org, Chua’s tutorial is an almost painless way of getting started and learning to use Org for a useful task at the same time. Definitely recommended.

Posted in General | Tagged , | 3 Comments

Ruining the Internet

John Gruber over at Daring Fireball has a post on how adtech is ruining the Internet. He points to an article on Bloomberg that makes the case for how disastrous adtech is for advertisers. When I followed the link, Bloomberg ran an autoplay ad1. Case closed.

Footnotes:

1

Of course I left the site immediately in accordance with my firm rule on autoplay ads. Later, I went back to check that the ad really did autoplay and that I didn’t accidentally click on it. This time they didn’t push an autoplay ad so I read the article. It’s a pretty good article. Too bad Bloomberg proves Gruber’s point so graphically.

Posted in General | Tagged | Leave a comment

We Have to Outlaw Gloves

A nice followup to Blaze’s tweet that encryption was a problem in only four cases last year.

Posted in General | Tagged | Leave a comment

Happy Birthday: Free at Last

It’s long been obvious to anyone who took a serious look that the claimed copyrights on “Happy Birthday” are invalid. That hasn’t stopped Warner Music from extorting user fees on the order of two million dollars a year, though. Now, happily, a federal judge has put a stop to the nonsense and ruled that none of the companies that have collected royalties on the song held a valid copyright.

The judge ruled a 1935 copyright covered only a specific piano arrangement and not the song itself. Warner can appeal, of course, but they haven’t announced their intentions. I’d be surprised if they do. The thing about sketchy copyright claims like this is that they only work because the claimed royalties are too small to make litigation cost effective. Once someone takes them on, the house of cards falls.

On the other hand, they may have to pay back all those royalties they’ve collected over the years so they do have a financial incentive to appeal. We’ll see what happens, but in the mean time “Happy Birthday” is free.

Posted in General | Tagged | Leave a comment

A Nifty Example of Metaprogramming

Some of the most enjoyable programming I do is metaprogramming: writing code that writes code. Lisp macros are all about that, of course, but the idea is much more general. Often times the code that the code writes is just a simple shell script. Several years ago when my main workstation was a Linux machine, the ripperX program was broken for one reason or another so I wrote a program to read the CD directory and generate a shell script to rip the tracks. It was nice because I had complete control over the format of the names assigned to the tracks.

I just came across a nifty example of this sort of thing over at Sacha Chua’s blog. Chua was working on cutting the video stream from the recent Emacs Conference 2015 into individual talks1. The idea is to note the start time and duration of each talk and use that in a call to ffmpeg. You can write those ffmpeg calls by hand, of course, but that’s boring and error prone.

Instead, Chua captured the talk title, start time, and end time in an Org table and used the table spread sheet functionality to calculate the duration. Then she used a code block in the Org file to output the calls to ffmpeg automatically. A nice example of metaprogramming using Org mode. It’s a great post and well worth a read. Perhaps it will give you some ideas for your own work. In any event, we’re all the beneficiaries of Chua’s work because now we can watch those conference talks. See Chua’s post for the details.

Footnotes:

1

Here’s another Chua post with some background on the technical details of the media she was working with.

Posted in General | Tagged , | Leave a comment

Org Basics IV

Ben Maughan has posted the fourth episode in his Org Mode Basics series. This time he talks about formatting the text in Org buffers and adding executable source code blocks to your Org file.

The Org markup language is very similar (in spirit) to Markdown but is a bit richer. If you’re not already familiar with Org markup, take a look at Maughan’s post to see the basic markup and what the results look like. As Maughan says, you can also include blocks of LaTeX right in your document if you need to. Small pieces of LaTeX can merely be added to the file without any special markup other than the LaTeX.

Although Maughan hasn’t mentioned it yet, you can also add HTML for those files you plan on exporting to HTML. Maughan will be discussing exporting Org files in a subsequent post.

As I said before, if you’re new to Org Mode, these posts are an excellent way to get up to speed. They’re short, easily digestible pieces that add to what’s come before. Even if you’re a long time Org user they’re worth reading; you may learn something new.

Posted in General | Tagged , | 3 Comments

Lenovo Yet Again

From Irreal’s You Can’t Make This Stuff Up department we have news of Lenovo once again secreting malware on their computers. This time it’s on the top-of-the-line Thinkpad model widely assumed to be immune from this nonsense.

I know lots of people who swear by their Thinkpads and insist none of this matters because they run Linux on them anyway. Cory Doctorow, in the BoingBoing piece linked above, says he goes even further and replaces the hard drive with an SSD drive.

Those attitudes miss a couple of points, I think. First, why would you want to deal with a company with a proven track record of abusing their customers and putting those customers’ security at risk? If nothing else, getting caught 3 times in a year is evidence of incompetence and a refusal to deal with those responsible for it. Second, and more important, they’re coming for you next. Up till now Lenovo has concentrated on targeting Windows systems but it’s only a matter of time before some bright bulb realizes that the stuff really worth stealing is going to be on a Linux system.

When that happens, all your “but I’m running Linux” is out the window. Lenovo controls the hardware and can arrange for whatever backdoors it likes. As I wrote the last time Lenovo did this, they can, and did, put malware in the firmware where it’s hard to detect and hard to eliminate. Unless you’re prepared to take a microscope to the chips on your system, you’d be well advised to look elsewhere for your hardware.

I appreciate that if you’re not an Apple user, Lenovo has the best hardware available and that the alternatives may not be as good, but maybe you should give Dell, HP, or one of the others a second look.

Posted in General | Tagged | 2 Comments

Cory Doctorow on Ad Blocking

Over at The Guardian, Cory Doctorow has an excellent article on ad blocking and the future of Internet advertising. He makes a point that I haven’t seen before: it’s only a matter of time until one of the big data brokers suffers a breach and leaks compromising information on millions of people on a scale that will dwarf the Dolly Madison and even the OPM leaks. Most people aren’t worried about that because they’re not aware of the detailed dossiers about them that data brokers collect. They may not have your fingerprints the way the OPM does but they’ve got just about everything else.

Given that fact and the related performance and bandwidth problems that adtech is delivering to our machines everyday, it’s no wonder that more and more people are taking actions to stop it. Some are so disgusted they just install an ad blocker and stop everything. Others, like me, try to be a bit more discriminating and just block the trackers. Either way, it’s bad news for advertisers and publishers.

What to do? Doctorow says the answer is simple but hard. We have to find a way for advertisers and publishers to deal directly with each other without the intermediary ad brokers. For reasons that Doctorow explains in the piece, that’s harder than it sounds.

It’s a good article with lots of background on the problem and some suggestions for moving forward. It’s well worth reading.

Posted in General | Tagged | Leave a comment

Seven Years of Reproducible Research

Christophe Pouzat has posted the slides from his talk Seven Years of Reproducible Research: From R / Sweave to Org. As the title suggests, the talk covers Pouzat’s evolution from using R and Sweave for reproducible research to using Org mode and Babel.

It’s clear that Org/Babel is the better solution for most researchers. Instead of being restricted to just R and LaTeX, Org/Babel lets you use a simple markup language that can be exported to many different formats. Instead of being restricted to R, you can use whatever language is most appropriate and even mix several languages in a single Org file.

If you’re a researcher interested in reproducible research—and if you’re not, you should be—Org/Babel offers an easy way to get started and practice reproducible research on a continuing basis. Of course, you will have to learn Emacs but, the wailing from hipsters notwithstanding, a basic fluency with Emacs requires an investment of an hour or so. Once you start using it, you’ll find yourself learning more and more of its features. The time savings you’ll earn from Org/Babel for writing up your research—even if you don’t use reproducible research—will more than repay the modest investment in effort required to get started.

Spend three or four minutes reading Pouzat’s slides and see if you don’t agree. It really will make your life better.

Posted in General | Tagged , | 1 Comment

What We Really Mean

Like all great humor, it’s funny because it’s so true:

Posted in General | Tagged | Leave a comment