How You Know the Copyright Cartel Is Out of Control

I get that artists don’t want others ripping off their work but saying that a cartoon representation of a real person in a video game is a violation because the cartoon character shows (a cartoon representation) of the real person’s tattoos strikes me as ridiculous. Not that common sense has much to do with the practice of IP law these days.

Posted in General | Tagged | Leave a comment

Org Mode 9.2

A couple of days ago, Bastien tweeted that Org Mode 9.2 has been released:

I’ve taken to upgrading my packages on Sunday (only) so I haven’t installed it yet but there is one incompatible change that Org users should be aware of. The “structured template expansion” mechanism—expanding <e to #+BEGIN_EXPAMPLE#+END_EXAMPLE for instance—is completely different. The change was a bit contentious but even Carsten admitted the new system is better. Regardless, it’s now the default system. You can revert to the old system by adding

(require 'org-tempo)

to your init.el. This change—along with other incompatible changes—is described at the top of the CHANGE file, so you should definitely take a look at it.

As usual, Thanks to Nicolas, Bastien, and all the others who worked to bring us this new release.

UPDATE [2018-12-30 Sun 18:28]: It’s Org-mode not Emacs that got updated.

Posted in General | Tagged , | Leave a comment

Writing and Publishing Emacs Packages

NOTE: It turns out that I wrote about Scott’s post before but it has useful information so I’m going to publish this anyway.


Al Scott was annoyed that he couldn’t run his Mocha tests from inside Emacs. He knew it could be done because it was possible for other frameworks so he decided to write his own package. He wrote about his experience in Take Your Emacs to the Next Level by Writing Custom Packages.

Most of the post is about the mechanics of the using the Emacs compilation system. If you have a similar need, Scott’s post is an excellent go-by. The last part of the post concerns publishing the package to MELPA. Although that can seem mysterious, it’s actually very straightforward and easy to do: make the package file and open a pull request to MELPA. Someone at MELPA will check your code and if everything seems okay, your package will automatically be included in the next MELPA build. From then on, updates are simply pulled from your GitHub repository without any further action from you.

If you’ve been thinking about building your own package, Scott’s post is well worth a few minutes of your time.

Posted in General | Tagged | Leave a comment

A Reminder about MELPA

If you’re anything more than a casual Emacs user, one of your most important resources is almost certainly the MELPA package repository. I’ve mentioned this before but apparently a reminder is needed: MELPA is a voluntary operation run by Steve Purcell and whoever he can get to help out. He doesn’t get paid and, believe it or not, he has a family and job that also make demands on his time. Even so, he spends a lot of time and effort on MELPA. Follow that last link to see what I mean.

I’m posting this reminder because someone on the Emacs subreddit was whining that it was taking too long to get new packages approved. MELPA is curated and part of that curation process is reviewing each package to make sure it meets MELPA’s guidelines and is safe. This requires human scrutiny, which, again, means Purcell. As my previous post makes clear, he’s dancing as fast as he can.

I have to admit that I found the reddit post annoying. I can only imagine how Purcell will feel when he sees it. As I said, he doesn’t get paid but I’m sure he’d be happy to get a little gratitude instead of complaints for his efforts.

Posted in General | Tagged | Leave a comment

Emacs for R Programming

Although I’ve played around with it a bit and even written a few blog posts about it, I’m not really an R user and barely rise to the dilettante level. andyptt21 over at The Scientific Shrimper is an R user with several years experience. Like most R users he started out with Rstudio and used it for four years before he replaced it with Emacs and Org-mode.

In a blog post, Soapbox Rant: Why I use Emacs for R programming, he explains why he made the switch and why he thinks it was the right move. He finds that Emacs is more flexible with respect to window arrangement and is, of course, customizable so that you can make editing/experimenting experience just the way you like it.

He’s also discovered—as many of us have—that using keyboard navigation so that you never have to take your hands off the keyboard is a real win over using a mouse for the same tasks. This seems counter intuitive and always surprises people when they discover it.

He gives a few other reasons for the switch—including the integration with Org-mode through Babel. If you’re an R user, you should give it a read. Perhaps it will convince you to make the switch as well.

Posted in Programming | Tagged , | Leave a comment

Merry Christmas the Linux Way

It’s Christmas and the Interweebs are quiet so I’ll just pass on this as your Christmas card from Irreal.

Posted in General | Tagged | Leave a comment

The History of cat

Over at Two-Bit History Sinclair Target makes the case that although it seems as if computer technology is always advancing and changing, we are still using software that is virtually unchanged from the dawn of the computer age. As a case study he looks at the history of the cat command.

The cat command was in the first edition of Unix in 1969 and has been there ever since. Target looks at the code to see how much it’s changed since then. Thompson wrote the first version in PDP assembly language and it wasn’t until the 7th edition that it was rewritten in C.

Most of the changes since then have been the usual accretion of features and their flags. So many flags were added that Rob Pike complained about it in his famous essay UNIX Style, or cat -v Considered Harmful. Nonetheless, the heart of the utility remains the two lines

while ((c = getc(fi)) != EOF)
    putchar(c);

Target provides a link to gist that contains all the implementations of cat that he discusses (including those written in assembly) so you can see how things have changed. He concludes that the macOS version of cat that he uses today has not changed at all in 13 years. If you like reading through code and enjoy Unix history, be sure to take a look at Target’s post.

Posted in General | Tagged , | Leave a comment

A Theme for Prose Writers

I came across a pointer to Kunal Bhalla’s Emacs Poet theme that may interest Emacsers writing prose using the Org or Markdown modes. As you can see from the screenshots at the above link, it uses a variable pitch font for prose text and a fixed pitch font for code examples. It has a number of other formatting options that makes the text pleasant to look at while you’re writing. The look is a bit like Abhinav Tushar’s writing configuration that I wrote about a couple of months ago.

If you’re writing pose and like the more finished look you get when using a word processor, you should definitely take a look at the Poet theme. It doesn’t turn Emacs into a word processor—thankfully—but it does make your source text look prettier.

One of the additional packages that Bhalla recommends is Jorgen Schaefer’s typo. It makes entering quotations and other punctuation such as em- and en-dashes easier. It even lets you enter non-breaking spaces and special characters such as arrows. Take a look at the README to see what it can do. Even if you’re not interested in the type of eye candy that Poet offers, you may like the ease of entering punctuation that typo offers. Although the README doesn’t say so, the package is available on MELPA.

Posted in General | Tagged , | Leave a comment

Another Blogging Workflow with Org Publish

I have a cold and feel awful so today’s post will be short but I did want to point you to Narendra Joshi’s excellent post on how he uses org-publish for his blog. What I really like about his setup is that it does everything with Org. That means it takes care of building the RSS feed, the index page, the archive, and the Disqus comment block. Once the system is set up, all he has to do is write his post as an Org file and push a couple of buttons to publish the post.

He has pointers to the complete source so you can see how everything works and use it to build your own blogging system. Again, I like that it doesn’t depend on a third party blogging engine. It’s simple and portable and doesn’t depend on the continued existence of anything but Emacs and Org mode. If you’re looking for a nice blogging solution, take a look.

Posted in General | Tagged , | Leave a comment

The Yoda of Silicon Valley

The New York Times has a nice article on Don Knuth entitled The Yoda of Silicon Valley that talks briefly about his life and contributions to Computer Science. It’s been all over Internet but if you haven’t had a chance to read it, you really should. It’s a look at one of the super stars in our field.

Speaking of Knuth, I watched his 24th annual Christmas Lecture the other day and it’s also well worth spending some time on. It’s about “Dancing Links,” a data structuring idea for backtracking that turns out to be useful in a wide variety of combinatorial problems. In the talk, Knuth mentions that a draft of the section of AOCP that deals with Dancing Links is available but not linked. Since the talk, he has supplied a link so you can get it from his Website if you’re interested in reading some more.

Posted in General | Tagged | Leave a comment