Basic Org Tutorial

Over at the Worg site, David O’Toole has a nice tutorial on the basics of Org mode. It covers only the outlining and TODO features but there’s still some meat there for the more experienced Org user. For example, I learned about the org-log-done variable and the log display from the agenda. Take a look at O’Toole’s tutorial for the details.

If you’ve been following my adventures in setting up a personal information manager around Org and wanted to get in on the fun but don’t really know Org, this tutorial will give you enough information to get you going. Definitely worth a read.

Posted in General | Tagged , | Leave a comment

Seven Emacs Settings

Timothy Pratley lists Seven specialty Emacs settings with big payoffs. These suggestions are “special” in that they aren’t basic settings that every new Emacs user gets around to implementing. Not everyone will want to use all of them. For example, he has a bit of Elisp that saves all the buffers when Emacs loses focus. Pratley explains his use case for this but it’s still not something I’d want.

Others, such as setting chords to run commands are very attractive to me and, in fact, is something I do. You may find some ideas that work for you so it’s definitely worthwhile reading his post.

Posted in General | Tagged | 2 Comments

If You’ve Got Nothing to Hide…

…you’ve got nothing to fear.

For those of you who are as sick as I am of hearing that bit of tendentious nonsense floated by those who want to stick their noses into every aspect of your affairs, Jacques Mattheij has a nice summary post on the past, present, and future of if you’ve got nothing to hide, you’ve got nothing to fear.

Even a moment’s thought exposes it for the absurdity it is. As Mattheij points out, privacy is not the same thing as secrecy. Cory Doctorow notes that what goes on in the toilet is not secret but it sure is private. But Mattheij goes well beyond that obvious fact.

He revisits the example of the Amsterdam Census collecting information about residents’ religion for completely benign reasons and then having it used by the Nazis to hunt down and kill Jews during WWII. Closer to home, we have the example of a huge number (at latest count 21.5 million—7%) of Americans’ most private information being lost by the Office of Personnel Management. Again, data collected for benign reasons end up being used in harmful ways.

It’s time to stop being polite about this. The next time someone tells you you have nothing to fear as long as you’re innocent, laugh in their face and walk away. Nothing else they have to say is likely to be worth listening to either. If that reaction is too strong for you, point them to Mattheij’s post and tell them to come back after they’ve read it.

Posted in General | Tagged | 1 Comment

NSA Bulk Metadata Collection Resumes

This is why you must always resist government overtures to impose surveillance programs: You can never get rid of them. Despite expiration of the enabling legislation, the clear fourth amendment issues, and the lack of any productive results, the FISA court ruled that the NSA could resume collecting it.

The ruling is meant as a stopgap to cover the period before the new law—where the metadata is held by the carriers and requires a warrant to access—takes effect but nonetheless has no statutory authorization. The ruling could be appealed, I suppose, but the issue will be moot before it ever gets heard. Once a surveillance program is in place, the government will resist any efforts to end it. They’ll trot out the usual four horsemen and scare tactics to convince Congress and the citizenry that it’s absolutely necessary and that disaster will result without it.

Posted in General | Tagged | Leave a comment

New Hydra Functionality

I haven’t written about abo-abo’s excellent hydra package for a while but he’s continued to make significant enhancements to it. The latest is the ability to temporarily suspend a hydra and even push it onto a stack while you invoke another.

The nifty thing about the upgrade is that you don’t have to do anything to your hydra definitions. All you need do is bind your desired key sequence to hydra-pause-resume and the functionality is enabled.

Posted in General | Tagged , | 1 Comment

A Wonderful Piece of Unix History

Unix is widely extolled as the first portable operating system but many don’t know how that came about. By the time of Version 6, Unix had been licensed to many universities but it still ran only on the PDP-11 family of computers. Juris Reinfelds tells the story of how the University of Wollongong made the first port of Unix to a non-PDP system.

It’s an interesting story. The small Computer Science section—it was part of the Mathematics Department then—needed a time share system for hands on computing by students and staff. Reinfelds visited Murray Allen and John Lions1 of the University of New South Wales to discuss possible systems. He early on decided that a Unix system would be ideal but the CS section didn’t have enough money for a PDP-11 so they bought an Interdata 7/32 instead.

The Interdata didn’t run Unix, of course, so the plans for a Unix system were put on hold. Around that time, Richard Miller joined the department and was looking for a programming challenge. Reinfelds and Miller decided that porting Unix would be just the thing so Miller started work on the first Unix port. He started by recoding the C compiler’s code generator to output Interdata assembler code. That was difficult because the University of Wollongong had no PDP-11 and the University of New South Wales had no Interdata. A further complication was that there were funds for at most three trips to UNSW.

I’ll let you read Reinfelds’ story (it’s short) to see how it all worked out. It’s a tribute to Miller and Unix that a port was possible at all let alone so easily. Definitely worth reading.

Footnotes:

1

Of Lions Book fame.

Posted in General | Tagged | Leave a comment

Marking Up Quoted Org Strings

Artur Malabarba has a nice tip on how to markup strings in Org mode that begin with " or '. I should have implemented it for this post.

Posted in General | Tagged , | Leave a comment

Elisp/Emacs Examples

Caio Rordrigues has an excellent resource for beginning/intermediate Elisp programmers that also lists some of the common Emacs customizations that many Emacs users end up making. For example, it tells you how to turn off requiring a “yes” or “no” response to certain prompts and enabling a simple ‘y’ or ‘n’ instead.

The real meat, though, is the list of Elisp examples. You can think of it as an Elisp cookbook. It covers things like filtering lists, reading or writing from/to strings, splitting strings, mapping, structures, the loop macro, working with buffers and files, and a host of other useful examples. It’s fun just to read through it and when you do, you’re likely to learn a few things you didn’t know.

This is a really useful resource, especially for learning Elisp idioms and what sort of functions are available. As I’ve written before, the basics of Lisp programming are easy; it’s learning the library that’s hard. That’s especially true of Elisp, which has many specialized functions for editing text. Sometimes you know what you want to do but it’s not clear what terms you should search for to tell you how to implement it. Rordrigues’ examples covers most types of actions and will at least get you to the right set of functions. Even new Emacs users will find the section on customizations helpful.

Posted in General | Tagged , | Leave a comment

Draft #4

I’ve had this post in my blog-ideas queue for some time but it’s always seemed too far afield from Irreal’s interests—being about writing and dictionaries, and stuff—to write about. Now, happily, I’ve found the perfect hook. I wrote previously about DuckDuckGo bang shortcuts and gave some examples. Another example is !webster which takes you to the 1913 + 1828 Webster’s Revised Unabridged Dictionary. Why should you care?

The answer to that is in James Somers’ beautiful post, You’re probably using the wrong dictionary. In it, he describes a New Yorker article, Draft #4, by the prose stylist John McPhee. In that article, McPhee explains that the fourth draft comes after he’s done all the creative work and is ready to “punch up” his language. His main tool for doing that is to identify words that aren’t quite right or perhaps present an opportunity to do better and then look those words up in the dictionary. Note that it’s dictionary not thesaurus.

The problem, says Somers, is that most dictionaries are dry and give efficient, juiceless definitions. Although McPhee doesn’t say what dictionary he uses, Somers was able to track it down—it’s Webster’s Revised Unabridged, of course—and add it to his dictionary app. You really have to read his post to see why that’s worthwhile but if you’d like to improve your writing it’s well worth the read.

After reading Somers’ post, I bookmarked the dictionary but it was a bit of a pain to look up the bookmark. It would be easy to add some Elisp to pop me into the right definition in my browser or perhaps even the in the minibuffer the way abo-abo’s excellent define-word package does but I don’t use it that often so it never seemed worthwhile. Now with the DuckDuckGo bang shortcut it’s really easy and I’ll probably start using it more. Maybe enough to justify writing the Elisp.

UPDATE: he → he’s; prefect → perfect; unabdridged → unabridged

Posted in General | Tagged , | 3 Comments

Mastering Emacs in Emacs

Virtually every Emacs geek knows about and has probably purchased Mickey’s Mastering Emacs. Álvaro Ramírez wanted a bit more: he wanted to be able to search it from Emacs.

That turns out to be surprisingly easy. Just download the epub and convert it to Org mode, and you’re all set. There’s a little cleanup involved but it seems a reasonably easy process. Check out Ramírez’s post for the details. If you want to be able to bring up Mickey’s wisdom as you’re working, this seems like just the thing.

UPDATE: Matering → Mastering

Posted in General | Tagged | 7 Comments