Refactoring CamelCase

If, like me, you consider CamelCase symbol names to be the mark of the beast, Arne Babenhauserheide has you covered. He recently found himself having to convert names like CamelCase to camel_case. He found some code on the Emacs Wiki, added some glue to make it interactive, and used a keyboard macro to convert everything.

If you follow the link to the Wiki page, you'll discover that there's also code to convert to

  • CamelCaseSymbols
  • underscored_symbols
  • dashed-symbols
  • colonized::symbols

The code is simple enough that you can easily add some other special format that you might need.

Again, Emacs letting you have it your way.

Posted in General | Tagged | 3 Comments

Listing File Sizes in dired

Like many Emacs users, I do almost all my file manipulation (rm, mv, cp, etc.) in dired. It's just a lot easier to have a listing of the directory in front of you and mark the files you want to act on. That's not even mentioning writable dired, a thing of beauty in itself.

Over at (or emacs, abo abo gives us a bit of Elisp that let's us mark some files and run the Unix du on them. He maps his function to z in the dired-mode-map so all we need to do is mark the files and type 【z】 to get the sizes. It's an easy enhancement but it gives us one less reason to leave Emacs (or even invoke a shell) to get information about our files. Very nice.

Posted in General | Tagged | Leave a comment

A Cross Reference for the Figures in CLHS

Jean-Philippe Paradis has added a cross reference to the figures in the Common Lisp HyperSpec to his Common Lisp Notes & Tips.

Posted in Programming | Tagged , | Leave a comment

Empty Your Cup

Some sage advice from Sacha:

Posted in General | Tagged | Leave a comment

Sleepwalking into Tyranny

Nic Ferrier has a few words of his own on government snooping. This time from a British point of view.

Posted in General | Tagged | Leave a comment


An internal CIA board has found that its officers had done nothing wrong by breaking into the computers of senate staffers who were investigating claims of CIA torture. If you're surprised by this you haven't been paying attention. The government has made clear that it reserves the right to spy on anyone for any reason. Notice that there are no terrorists here. The only thing the CIA was trying to keep safe is the CIA.

So now we know. No act, no matter how egregious, will be punished. Lie to Congress, nothing happens to the liar. Break into the computers of a co-equal branch of government, nothing happens. This was not about investigating a crime, which the CIA is not entitled to do in any event, merely about protecting the CIA from an investigation into its activities.

Remember all this the next time the government tells you not to worry; that the CIA and NSA are under strict supervision and will never abuse their capabilities. They have and they will. Sadly, recent events in France and elsewhere make it unlikely that we will ever be able to get these agencies under control. Indeed, the very best outcome we can hope for is that the United States and other countries will refuse to jump on David Cameron's bandwagon and start outlawing encryption. Of course, that may be too much to ask.

Posted in General | Tagged | Leave a comment

January Quicklisp

The January Quicklisp distribution is out. Upgrade as usual with

(ql:update-dist "quicklisp")

There are 21 new packages and a bunch of updates so you should upgrade the next time you have your Lisp open. It only takes a few seconds.

Posted in Programming | Tagged , | Leave a comment

Some Tips from mbork

Marcin Borkowski (mbork) has a short list of Emacs configuration tips that you may find useful. All of these are documented, of course, but it can be notoriously hard to dig out information of this type.

For example, one tip that I find immediately useful is the configuration to inhibit AUCTeX from asking if I want to save my current TeX file before executing whatever command 【Ctrl+c Ctrl+c】 will execute. Of course I want to save the file; the command will likely not do what I want otherwise. A simple configuration change will just save it automatically without bothering you.

Most of you will know some or all of these tips already but it's worth scanning the list to see if there's something new you can use.

Posted in General | Tagged | Leave a comment

Org Protocol

Abo-abo over at (or emacs has been blogging up a storm. So much so that it's hard to keep up. In a couple of recent posts, he describes how he interfaces his browser to Org mode. The idea is that he can click on a link in the browser and get a link stored in the appropriate Org file and tree.

I've been meaning to figure out org-protocol and see if I can use it to advance my work flow so abo-abo's post is really timely. It serves as a go-by for using the protocol. He also has a pointer to the part of his Emacs configuration that uses the machinery he describes.

Really interesting stuff. You should definitely take a look.

Posted in General | Tagged , | 1 Comment

A Convert Reports on His Progress

A year ago, Bailey Ling was a Vim user. Like many of us, he switched to Emacs and now he's giving a progress report. Many of Ling's long-held work flows have become victim to Emacs. For example, he used to use tmux to handle multiple sessions with Vim. As an Emacs user that is no longer necessary. He's got other examples so be sure to read his post.

Like many who make the trip from Vim to Emacs, Ling started off using evil-mode but found that he could be more efficient by learning the native Emacs key bindings. He still uses evil-mode for editing text but turns it off for everything else. That seems like a reasonably compromise but I'm still glad I just jumped in and learned the Emacs key bindings. As I've written before, my muscle memory still has flashbacks to Vim key strokes with, often, hilarious results. Trying to cope with two sets of key strokes would likely render me about as efficient as I would be with ed.

As with almost every Emacs user, Ling started moving more and more of his work flow into Emacs. He, like me, loves how you can make a tweak to Emacs and evaluate it on the spot without restarting Emacs. He's found, as many of us have, that Emacs is a way of life.

If you're a convert from Vim, give his post a read; I'm sure it will resonate. Even if you aren't a convert, you may find his experiences interesting.

Posted in General | Tagged | Leave a comment